Guard final INI context staging paths
This commit is contained in:
42
text6.txt
42
text6.txt
@@ -1668,3 +1668,45 @@ wasm-port/tests/host/verify_host_smokes.sh
|
||||
这三个当前仍存在类似 `plan.files -> sourceRel -> replace(...)` 的内联 staged path
|
||||
对账,可继续复用 `assertInterpIniContextNgcStaging(...)` 小批量替换。继续避免
|
||||
blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
||||
|
||||
三十九、2026-06-13 继续执行记录:final INI-context ngc staging guard
|
||||
|
||||
本批继续处理剩余 INI/context `.ngc` staging 内联对账:
|
||||
|
||||
- `oword-unwind/test.ngc`
|
||||
- `abort-hot-comment/test.ngc`
|
||||
- `m19/test.ngc`
|
||||
|
||||
完成内容:
|
||||
|
||||
- Node 侧将 3 处内联 `plan.files -> sourceRel -> replace(...)` `.ngc` staging
|
||||
对账替换为 `assertInterpIniContextNgcStaging(...)`;
|
||||
- browser 侧同步将 3 处内联 `.ngc` staged path 对账替换为同名 helper;
|
||||
- Node/browser 侧保留 fixed `.ngc` manifest coverage 和 duplicate-free guard;
|
||||
- browser 侧仍不枚举目录;
|
||||
- 仅整理 host/filesystem staging guard,不改变 oword unwind、abort hot comment、
|
||||
M19 spindle orientation 或 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
|
||||
```
|
||||
|
||||
结果:全部通过。
|
||||
|
||||
下一步建议:
|
||||
|
||||
继续收敛最后可见的 fixed `.ngc` staged path 对账。优先候选:
|
||||
|
||||
- `magic_comments/param_format_printing/test.ngc`
|
||||
|
||||
当前 Node 侧已有 fixed path manifest 对账,browser 侧仍有本地数组 staged path 对账;
|
||||
可小批量抽成 single-file 或 fixed-list helper,继续检查 staged path 与 manifest 一致。
|
||||
继续避免 blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
||||
|
||||
@@ -7603,14 +7603,11 @@
|
||||
if (owordUnwindNgcFiles.length !== 2 || new Set(owordUnwindNgcFiles).size !== owordUnwindNgcFiles.length) {
|
||||
throw new Error("browser_interp_oword_unwind_fixture_coverage: list drift");
|
||||
}
|
||||
const owordUnwindStagedNgcFiles = owordUnwindPlan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/oword-unwind/", ""))
|
||||
.sort();
|
||||
if (owordUnwindStagedNgcFiles.join(",") !== owordUnwindNgcFiles.join(",")) {
|
||||
throw new Error("browser_interp_oword_unwind_staging_manifest: list drift");
|
||||
}
|
||||
assertInterpIniContextNgcStaging(
|
||||
"oword-unwind",
|
||||
owordUnwindNgcFiles,
|
||||
owordUnwindPlan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"browser_interp_oword_unwind",
|
||||
interp.runFileWithIniContinueOnError(
|
||||
@@ -7637,14 +7634,11 @@
|
||||
if (abortHotCommentNgcFiles.length !== 1 || new Set(abortHotCommentNgcFiles).size !== abortHotCommentNgcFiles.length) {
|
||||
throw new Error("browser_interp_abort_hot_comment_fixture_coverage: list drift");
|
||||
}
|
||||
const abortHotCommentStagedNgcFiles = abortHotCommentPlan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/abort-hot-comment/", ""))
|
||||
.sort();
|
||||
if (abortHotCommentStagedNgcFiles.join(",") !== abortHotCommentNgcFiles.join(",")) {
|
||||
throw new Error("browser_interp_abort_hot_comment_staging_manifest: list drift");
|
||||
}
|
||||
assertInterpIniContextNgcStaging(
|
||||
"abort-hot-comment",
|
||||
abortHotCommentNgcFiles,
|
||||
abortHotCommentPlan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"browser_interp_abort_hot_comment",
|
||||
interp.runFileWithIniContinueOnError(
|
||||
@@ -7668,14 +7662,11 @@
|
||||
if (m19NgcFiles.length !== 1 || new Set(m19NgcFiles).size !== m19NgcFiles.length) {
|
||||
throw new Error("browser_interp_m19_fixture_coverage: list drift");
|
||||
}
|
||||
const m19StagedNgcFiles = m19Plan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/m19/", ""))
|
||||
.sort();
|
||||
if (m19StagedNgcFiles.join(",") !== m19NgcFiles.join(",")) {
|
||||
throw new Error("browser_interp_m19_staging_manifest: list drift");
|
||||
}
|
||||
assertInterpIniContextNgcStaging(
|
||||
"m19",
|
||||
m19NgcFiles,
|
||||
m19Plan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"browser_interp_m19",
|
||||
interp.runFileWithIni(m19Plan.programPath, m19Plan.iniPath),
|
||||
|
||||
@@ -2579,14 +2579,10 @@ assert.deepEqual(
|
||||
interpRegressionNgcFilesRecursive("oword-unwind"),
|
||||
"interp oword-unwind fixture coverage drift",
|
||||
);
|
||||
assert.deepEqual(
|
||||
owordUnwindPlan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/oword-unwind/", ""))
|
||||
.sort(),
|
||||
assertInterpIniContextNgcStaging(
|
||||
"oword-unwind",
|
||||
owordUnwindNgcFiles,
|
||||
"interp oword-unwind staging manifest drift",
|
||||
owordUnwindPlan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"interp_oword_unwind_wasm",
|
||||
@@ -2616,14 +2612,10 @@ assert.deepEqual(
|
||||
interpRegressionNgcFilesRecursive("abort-hot-comment"),
|
||||
"interp abort-hot-comment fixture coverage drift",
|
||||
);
|
||||
assert.deepEqual(
|
||||
abortHotCommentPlan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/abort-hot-comment/", ""))
|
||||
.sort(),
|
||||
assertInterpIniContextNgcStaging(
|
||||
"abort-hot-comment",
|
||||
abortHotCommentNgcFiles,
|
||||
"interp abort-hot-comment staging manifest drift",
|
||||
abortHotCommentPlan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"interp_abort_hot_comment_wasm",
|
||||
@@ -2650,14 +2642,10 @@ assert.deepEqual(
|
||||
interpRegressionNgcFilesRecursive("m19"),
|
||||
"interp m19 fixture coverage drift",
|
||||
);
|
||||
assert.deepEqual(
|
||||
m19Plan.files
|
||||
.map((file) => file.sourceRel)
|
||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
||||
.map((sourceRel) => sourceRel.replace("tests/interp/m19/", ""))
|
||||
.sort(),
|
||||
assertInterpIniContextNgcStaging(
|
||||
"m19",
|
||||
m19NgcFiles,
|
||||
"interp m19 staging manifest drift",
|
||||
m19Plan,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"interp_m19_wasm",
|
||||
|
||||
Reference in New Issue
Block a user