Guard more INI context staging paths
This commit is contained in:
45
text6.txt
45
text6.txt
@@ -1623,3 +1623,48 @@ wasm-port/tests/host/verify_host_smokes.sh
|
|||||||
这些已有 Node/browser coverage,并且当前仍存在类似 `plan.files -> sourceRel` 的内联
|
这些已有 Node/browser coverage,并且当前仍存在类似 `plan.files -> sourceRel` 的内联
|
||||||
staged path 对账,可继续复用 `assertInterpIniContextNgcStaging(...)` 小批量替换。
|
staged path 对账,可继续复用 `assertInterpIniContextNgcStaging(...)` 小批量替换。
|
||||||
继续避免 blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
继续避免 blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
||||||
|
|
||||||
|
三十八、2026-06-13 继续执行记录:more INI-context ngc staging guard
|
||||||
|
|
||||||
|
本批继续收敛相邻 INI/context staging guard:
|
||||||
|
|
||||||
|
- `sub-call-from-sub/test.ngc`
|
||||||
|
- `sequence-number/test.ngc`
|
||||||
|
- `nested-sub-error/test.ngc`
|
||||||
|
- `nested-sub-in-file-error/test.ngc`
|
||||||
|
|
||||||
|
完成内容:
|
||||||
|
|
||||||
|
- Node 侧将 4 处内联 `plan.files -> sourceRel -> replace(...)` `.ngc` staging
|
||||||
|
对账替换为 `assertInterpIniContextNgcStaging(...)`;
|
||||||
|
- browser 侧同步将 4 处内联 `.ngc` staged path 对账替换为同名 helper;
|
||||||
|
- Node/browser 侧保留 fixed `.ngc` manifest coverage 和 duplicate-free guard;
|
||||||
|
- browser 侧仍不枚举目录;
|
||||||
|
- 仅整理 host/filesystem staging guard,不改变 sub-call、sequence-number、
|
||||||
|
nested-sub error 或 interpreter 语义。
|
||||||
|
|
||||||
|
已运行验证:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git diff --check
|
||||||
|
wasm-port/tools/verify_vendor_sync.sh
|
||||||
|
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||||||
|
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
|
||||||
|
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||||||
|
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||||||
|
wasm-port/tests/host/verify_host_smokes.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
结果:全部通过。
|
||||||
|
|
||||||
|
下一步建议:
|
||||||
|
|
||||||
|
继续处理剩余 INI/context `.ngc` staging 内联对账。优先候选:
|
||||||
|
|
||||||
|
- `oword-unwind/test.ngc`
|
||||||
|
- `abort-hot-comment/test.ngc`
|
||||||
|
- `m19/test.ngc`
|
||||||
|
|
||||||
|
这三个当前仍存在类似 `plan.files -> sourceRel -> replace(...)` 的内联 staged path
|
||||||
|
对账,可继续复用 `assertInterpIniContextNgcStaging(...)` 小批量替换。继续避免
|
||||||
|
blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
||||||
|
|||||||
@@ -7481,14 +7481,11 @@
|
|||||||
if (subCallFromSubNgcFiles.length !== 3 || new Set(subCallFromSubNgcFiles).size !== subCallFromSubNgcFiles.length) {
|
if (subCallFromSubNgcFiles.length !== 3 || new Set(subCallFromSubNgcFiles).size !== subCallFromSubNgcFiles.length) {
|
||||||
throw new Error("browser_interp_sub_call_from_sub_fixture_coverage: list drift");
|
throw new Error("browser_interp_sub_call_from_sub_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const subCallFromSubStagedNgcFiles = subCallFromSubPlan.files
|
assertInterpIniContextNgcStaging(
|
||||||
.map((file) => file.sourceRel)
|
"sub-call-from-sub",
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
subCallFromSubNgcFiles,
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/sub-call-from-sub/", ""))
|
subCallFromSubPlan,
|
||||||
.sort();
|
);
|
||||||
if (subCallFromSubStagedNgcFiles.join(",") !== subCallFromSubNgcFiles.join(",")) {
|
|
||||||
throw new Error("browser_interp_sub_call_from_sub_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_sub_call_from_sub",
|
"browser_interp_sub_call_from_sub",
|
||||||
interp.runFileWithIni(
|
interp.runFileWithIni(
|
||||||
@@ -7512,14 +7509,11 @@
|
|||||||
if (sequenceNumberNgcFiles.length !== 2 || new Set(sequenceNumberNgcFiles).size !== sequenceNumberNgcFiles.length) {
|
if (sequenceNumberNgcFiles.length !== 2 || new Set(sequenceNumberNgcFiles).size !== sequenceNumberNgcFiles.length) {
|
||||||
throw new Error("browser_interp_sequence_number_fixture_coverage: list drift");
|
throw new Error("browser_interp_sequence_number_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const sequenceNumberStagedNgcFiles = sequenceNumberPlan.files
|
assertInterpIniContextNgcStaging(
|
||||||
.map((file) => file.sourceRel)
|
"sequence-number",
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
sequenceNumberNgcFiles,
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/sequence-number/", ""))
|
sequenceNumberPlan,
|
||||||
.sort();
|
);
|
||||||
if (sequenceNumberStagedNgcFiles.join(",") !== sequenceNumberNgcFiles.join(",")) {
|
|
||||||
throw new Error("browser_interp_sequence_number_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_sequence_number",
|
"browser_interp_sequence_number",
|
||||||
interp.runFileWithIni(
|
interp.runFileWithIni(
|
||||||
@@ -7545,14 +7539,11 @@
|
|||||||
if (nestedSubErrorNgcFiles.length !== 2 || new Set(nestedSubErrorNgcFiles).size !== nestedSubErrorNgcFiles.length) {
|
if (nestedSubErrorNgcFiles.length !== 2 || new Set(nestedSubErrorNgcFiles).size !== nestedSubErrorNgcFiles.length) {
|
||||||
throw new Error("browser_interp_nested_sub_error_fixture_coverage: list drift");
|
throw new Error("browser_interp_nested_sub_error_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const nestedSubErrorStagedNgcFiles = nestedSubErrorPlan.files
|
assertInterpIniContextNgcStaging(
|
||||||
.map((file) => file.sourceRel)
|
"nested-sub-error",
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
nestedSubErrorNgcFiles,
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/nested-sub-error/", ""))
|
nestedSubErrorPlan,
|
||||||
.sort();
|
);
|
||||||
if (nestedSubErrorStagedNgcFiles.join(",") !== nestedSubErrorNgcFiles.join(",")) {
|
|
||||||
throw new Error("browser_interp_nested_sub_error_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_nested_sub_error",
|
"browser_interp_nested_sub_error",
|
||||||
interp.runFileWithIni(
|
interp.runFileWithIni(
|
||||||
@@ -7581,14 +7572,11 @@
|
|||||||
if (nestedSubInFileErrorNgcFiles.length !== 2 || new Set(nestedSubInFileErrorNgcFiles).size !== nestedSubInFileErrorNgcFiles.length) {
|
if (nestedSubInFileErrorNgcFiles.length !== 2 || new Set(nestedSubInFileErrorNgcFiles).size !== nestedSubInFileErrorNgcFiles.length) {
|
||||||
throw new Error("browser_interp_nested_sub_in_file_error_fixture_coverage: list drift");
|
throw new Error("browser_interp_nested_sub_in_file_error_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const nestedSubInFileErrorStagedNgcFiles = nestedSubInFileErrorPlan.files
|
assertInterpIniContextNgcStaging(
|
||||||
.map((file) => file.sourceRel)
|
"nested-sub-in-file-error",
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
nestedSubInFileErrorNgcFiles,
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/nested-sub-in-file-error/", ""))
|
nestedSubInFileErrorPlan,
|
||||||
.sort();
|
);
|
||||||
if (nestedSubInFileErrorStagedNgcFiles.join(",") !== nestedSubInFileErrorNgcFiles.join(",")) {
|
|
||||||
throw new Error("browser_interp_nested_sub_in_file_error_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_nested_sub_in_file_error",
|
"browser_interp_nested_sub_in_file_error",
|
||||||
interp.runFileWithIni(
|
interp.runFileWithIni(
|
||||||
|
|||||||
@@ -2452,14 +2452,10 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFilesRecursive("sub-call-from-sub"),
|
interpRegressionNgcFilesRecursive("sub-call-from-sub"),
|
||||||
"interp sub-call-from-sub fixture coverage drift",
|
"interp sub-call-from-sub fixture coverage drift",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assertInterpIniContextNgcStaging(
|
||||||
subCallFromSubPlan.files
|
"sub-call-from-sub",
|
||||||
.map((file) => file.sourceRel)
|
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/sub-call-from-sub/", ""))
|
|
||||||
.sort(),
|
|
||||||
subCallFromSubNgcFiles,
|
subCallFromSubNgcFiles,
|
||||||
"interp sub-call-from-sub staging manifest drift",
|
subCallFromSubPlan,
|
||||||
);
|
);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_sub_call_from_sub_wasm",
|
"interp_sub_call_from_sub_wasm",
|
||||||
@@ -2486,14 +2482,10 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFilesRecursive("sequence-number"),
|
interpRegressionNgcFilesRecursive("sequence-number"),
|
||||||
"interp sequence-number fixture coverage drift",
|
"interp sequence-number fixture coverage drift",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assertInterpIniContextNgcStaging(
|
||||||
sequenceNumberPlan.files
|
"sequence-number",
|
||||||
.map((file) => file.sourceRel)
|
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/sequence-number/", ""))
|
|
||||||
.sort(),
|
|
||||||
sequenceNumberNgcFiles,
|
sequenceNumberNgcFiles,
|
||||||
"interp sequence-number staging manifest drift",
|
sequenceNumberPlan,
|
||||||
);
|
);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_sequence_number_wasm",
|
"interp_sequence_number_wasm",
|
||||||
@@ -2522,14 +2514,10 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFilesRecursive("nested-sub-error"),
|
interpRegressionNgcFilesRecursive("nested-sub-error"),
|
||||||
"interp nested-sub-error fixture coverage drift",
|
"interp nested-sub-error fixture coverage drift",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assertInterpIniContextNgcStaging(
|
||||||
nestedSubErrorPlan.files
|
"nested-sub-error",
|
||||||
.map((file) => file.sourceRel)
|
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/nested-sub-error/", ""))
|
|
||||||
.sort(),
|
|
||||||
nestedSubErrorNgcFiles,
|
nestedSubErrorNgcFiles,
|
||||||
"interp nested-sub-error staging manifest drift",
|
nestedSubErrorPlan,
|
||||||
);
|
);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_nested_sub_error_wasm",
|
"interp_nested_sub_error_wasm",
|
||||||
@@ -2558,14 +2546,10 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFilesRecursive("nested-sub-in-file-error"),
|
interpRegressionNgcFilesRecursive("nested-sub-in-file-error"),
|
||||||
"interp nested-sub-in-file-error fixture coverage drift",
|
"interp nested-sub-in-file-error fixture coverage drift",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assertInterpIniContextNgcStaging(
|
||||||
nestedSubInFileErrorPlan.files
|
"nested-sub-in-file-error",
|
||||||
.map((file) => file.sourceRel)
|
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/nested-sub-in-file-error/", ""))
|
|
||||||
.sort(),
|
|
||||||
nestedSubInFileErrorNgcFiles,
|
nestedSubInFileErrorNgcFiles,
|
||||||
"interp nested-sub-in-file-error staging manifest drift",
|
nestedSubInFileErrorPlan,
|
||||||
);
|
);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_nested_sub_in_file_error_wasm",
|
"interp_nested_sub_in_file_error_wasm",
|
||||||
|
|||||||
Reference in New Issue
Block a user