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` 的内联
|
||||
staged path 对账,可继续复用 `assertInterpIniContextNgcStaging(...)` 小批量替换。
|
||||
继续避免 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) {
|
||||
throw new Error("browser_interp_sub_call_from_sub_fixture_coverage: list drift");
|
||||
}
|
||||
const subCallFromSubStagedNgcFiles = subCallFromSubPlan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/sub-call-from-sub/", ""))
|
||||
.sort();
|
||||
if (subCallFromSubStagedNgcFiles.join(",") !== subCallFromSubNgcFiles.join(",")) {
|
||||
throw new Error("browser_interp_sub_call_from_sub_staging_manifest: list drift");
|
||||
}
|
||||
assertInterpIniContextNgcStaging(
|
||||
"sub-call-from-sub",
|
||||
subCallFromSubNgcFiles,
|
||||
subCallFromSubPlan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"browser_interp_sub_call_from_sub",
|
||||
interp.runFileWithIni(
|
||||
@@ -7512,14 +7509,11 @@
|
||||
if (sequenceNumberNgcFiles.length !== 2 || new Set(sequenceNumberNgcFiles).size !== sequenceNumberNgcFiles.length) {
|
||||
throw new Error("browser_interp_sequence_number_fixture_coverage: list drift");
|
||||
}
|
||||
const sequenceNumberStagedNgcFiles = sequenceNumberPlan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/sequence-number/", ""))
|
||||
.sort();
|
||||
if (sequenceNumberStagedNgcFiles.join(",") !== sequenceNumberNgcFiles.join(",")) {
|
||||
throw new Error("browser_interp_sequence_number_staging_manifest: list drift");
|
||||
}
|
||||
assertInterpIniContextNgcStaging(
|
||||
"sequence-number",
|
||||
sequenceNumberNgcFiles,
|
||||
sequenceNumberPlan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"browser_interp_sequence_number",
|
||||
interp.runFileWithIni(
|
||||
@@ -7545,14 +7539,11 @@
|
||||
if (nestedSubErrorNgcFiles.length !== 2 || new Set(nestedSubErrorNgcFiles).size !== nestedSubErrorNgcFiles.length) {
|
||||
throw new Error("browser_interp_nested_sub_error_fixture_coverage: list drift");
|
||||
}
|
||||
const nestedSubErrorStagedNgcFiles = nestedSubErrorPlan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/nested-sub-error/", ""))
|
||||
.sort();
|
||||
if (nestedSubErrorStagedNgcFiles.join(",") !== nestedSubErrorNgcFiles.join(",")) {
|
||||
throw new Error("browser_interp_nested_sub_error_staging_manifest: list drift");
|
||||
}
|
||||
assertInterpIniContextNgcStaging(
|
||||
"nested-sub-error",
|
||||
nestedSubErrorNgcFiles,
|
||||
nestedSubErrorPlan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"browser_interp_nested_sub_error",
|
||||
interp.runFileWithIni(
|
||||
@@ -7581,14 +7572,11 @@
|
||||
if (nestedSubInFileErrorNgcFiles.length !== 2 || new Set(nestedSubInFileErrorNgcFiles).size !== nestedSubInFileErrorNgcFiles.length) {
|
||||
throw new Error("browser_interp_nested_sub_in_file_error_fixture_coverage: list drift");
|
||||
}
|
||||
const nestedSubInFileErrorStagedNgcFiles = nestedSubInFileErrorPlan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/nested-sub-in-file-error/", ""))
|
||||
.sort();
|
||||
if (nestedSubInFileErrorStagedNgcFiles.join(",") !== nestedSubInFileErrorNgcFiles.join(",")) {
|
||||
throw new Error("browser_interp_nested_sub_in_file_error_staging_manifest: list drift");
|
||||
}
|
||||
assertInterpIniContextNgcStaging(
|
||||
"nested-sub-in-file-error",
|
||||
nestedSubInFileErrorNgcFiles,
|
||||
nestedSubInFileErrorPlan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"browser_interp_nested_sub_in_file_error",
|
||||
interp.runFileWithIni(
|
||||
|
||||
@@ -2452,14 +2452,10 @@ assert.deepEqual(
|
||||
interpRegressionNgcFilesRecursive("sub-call-from-sub"),
|
||||
"interp sub-call-from-sub fixture coverage drift",
|
||||
);
|
||||
assert.deepEqual(
|
||||
subCallFromSubPlan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/sub-call-from-sub/", ""))
|
||||
.sort(),
|
||||
assertInterpIniContextNgcStaging(
|
||||
"sub-call-from-sub",
|
||||
subCallFromSubNgcFiles,
|
||||
"interp sub-call-from-sub staging manifest drift",
|
||||
subCallFromSubPlan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"interp_sub_call_from_sub_wasm",
|
||||
@@ -2486,14 +2482,10 @@ assert.deepEqual(
|
||||
interpRegressionNgcFilesRecursive("sequence-number"),
|
||||
"interp sequence-number fixture coverage drift",
|
||||
);
|
||||
assert.deepEqual(
|
||||
sequenceNumberPlan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/sequence-number/", ""))
|
||||
.sort(),
|
||||
assertInterpIniContextNgcStaging(
|
||||
"sequence-number",
|
||||
sequenceNumberNgcFiles,
|
||||
"interp sequence-number staging manifest drift",
|
||||
sequenceNumberPlan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"interp_sequence_number_wasm",
|
||||
@@ -2522,14 +2514,10 @@ assert.deepEqual(
|
||||
interpRegressionNgcFilesRecursive("nested-sub-error"),
|
||||
"interp nested-sub-error fixture coverage drift",
|
||||
);
|
||||
assert.deepEqual(
|
||||
nestedSubErrorPlan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/nested-sub-error/", ""))
|
||||
.sort(),
|
||||
assertInterpIniContextNgcStaging(
|
||||
"nested-sub-error",
|
||||
nestedSubErrorNgcFiles,
|
||||
"interp nested-sub-error staging manifest drift",
|
||||
nestedSubErrorPlan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"interp_nested_sub_error_wasm",
|
||||
@@ -2558,14 +2546,10 @@ assert.deepEqual(
|
||||
interpRegressionNgcFilesRecursive("nested-sub-in-file-error"),
|
||||
"interp nested-sub-in-file-error fixture coverage drift",
|
||||
);
|
||||
assert.deepEqual(
|
||||
nestedSubInFileErrorPlan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/nested-sub-in-file-error/", ""))
|
||||
.sort(),
|
||||
assertInterpIniContextNgcStaging(
|
||||
"nested-sub-in-file-error",
|
||||
nestedSubInFileErrorNgcFiles,
|
||||
"interp nested-sub-in-file-error staging manifest drift",
|
||||
nestedSubInFileErrorPlan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"interp_nested_sub_in_file_error_wasm",
|
||||
|
||||
Reference in New Issue
Block a user