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
|
这三个当前仍存在类似 `plan.files -> sourceRel -> replace(...)` 的内联 staged path
|
||||||
对账,可继续复用 `assertInterpIniContextNgcStaging(...)` 小批量替换。继续避免
|
对账,可继续复用 `assertInterpIniContextNgcStaging(...)` 小批量替换。继续避免
|
||||||
blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
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) {
|
if (owordUnwindNgcFiles.length !== 2 || new Set(owordUnwindNgcFiles).size !== owordUnwindNgcFiles.length) {
|
||||||
throw new Error("browser_interp_oword_unwind_fixture_coverage: list drift");
|
throw new Error("browser_interp_oword_unwind_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const owordUnwindStagedNgcFiles = owordUnwindPlan.files
|
assertInterpIniContextNgcStaging(
|
||||||
.map((file) => file.sourceRel)
|
"oword-unwind",
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
owordUnwindNgcFiles,
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/oword-unwind/", ""))
|
owordUnwindPlan,
|
||||||
.sort();
|
);
|
||||||
if (owordUnwindStagedNgcFiles.join(",") !== owordUnwindNgcFiles.join(",")) {
|
|
||||||
throw new Error("browser_interp_oword_unwind_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_oword_unwind",
|
"browser_interp_oword_unwind",
|
||||||
interp.runFileWithIniContinueOnError(
|
interp.runFileWithIniContinueOnError(
|
||||||
@@ -7637,14 +7634,11 @@
|
|||||||
if (abortHotCommentNgcFiles.length !== 1 || new Set(abortHotCommentNgcFiles).size !== abortHotCommentNgcFiles.length) {
|
if (abortHotCommentNgcFiles.length !== 1 || new Set(abortHotCommentNgcFiles).size !== abortHotCommentNgcFiles.length) {
|
||||||
throw new Error("browser_interp_abort_hot_comment_fixture_coverage: list drift");
|
throw new Error("browser_interp_abort_hot_comment_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const abortHotCommentStagedNgcFiles = abortHotCommentPlan.files
|
assertInterpIniContextNgcStaging(
|
||||||
.map((file) => file.sourceRel)
|
"abort-hot-comment",
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
abortHotCommentNgcFiles,
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/abort-hot-comment/", ""))
|
abortHotCommentPlan,
|
||||||
.sort();
|
);
|
||||||
if (abortHotCommentStagedNgcFiles.join(",") !== abortHotCommentNgcFiles.join(",")) {
|
|
||||||
throw new Error("browser_interp_abort_hot_comment_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_abort_hot_comment",
|
"browser_interp_abort_hot_comment",
|
||||||
interp.runFileWithIniContinueOnError(
|
interp.runFileWithIniContinueOnError(
|
||||||
@@ -7668,14 +7662,11 @@
|
|||||||
if (m19NgcFiles.length !== 1 || new Set(m19NgcFiles).size !== m19NgcFiles.length) {
|
if (m19NgcFiles.length !== 1 || new Set(m19NgcFiles).size !== m19NgcFiles.length) {
|
||||||
throw new Error("browser_interp_m19_fixture_coverage: list drift");
|
throw new Error("browser_interp_m19_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const m19StagedNgcFiles = m19Plan.files
|
assertInterpIniContextNgcStaging(
|
||||||
.map((file) => file.sourceRel)
|
"m19",
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
m19NgcFiles,
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/m19/", ""))
|
m19Plan,
|
||||||
.sort();
|
);
|
||||||
if (m19StagedNgcFiles.join(",") !== m19NgcFiles.join(",")) {
|
|
||||||
throw new Error("browser_interp_m19_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_m19",
|
"browser_interp_m19",
|
||||||
interp.runFileWithIni(m19Plan.programPath, m19Plan.iniPath),
|
interp.runFileWithIni(m19Plan.programPath, m19Plan.iniPath),
|
||||||
|
|||||||
@@ -2579,14 +2579,10 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFilesRecursive("oword-unwind"),
|
interpRegressionNgcFilesRecursive("oword-unwind"),
|
||||||
"interp oword-unwind fixture coverage drift",
|
"interp oword-unwind fixture coverage drift",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assertInterpIniContextNgcStaging(
|
||||||
owordUnwindPlan.files
|
"oword-unwind",
|
||||||
.map((file) => file.sourceRel)
|
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/oword-unwind/", ""))
|
|
||||||
.sort(),
|
|
||||||
owordUnwindNgcFiles,
|
owordUnwindNgcFiles,
|
||||||
"interp oword-unwind staging manifest drift",
|
owordUnwindPlan,
|
||||||
);
|
);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_oword_unwind_wasm",
|
"interp_oword_unwind_wasm",
|
||||||
@@ -2616,14 +2612,10 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFilesRecursive("abort-hot-comment"),
|
interpRegressionNgcFilesRecursive("abort-hot-comment"),
|
||||||
"interp abort-hot-comment fixture coverage drift",
|
"interp abort-hot-comment fixture coverage drift",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assertInterpIniContextNgcStaging(
|
||||||
abortHotCommentPlan.files
|
"abort-hot-comment",
|
||||||
.map((file) => file.sourceRel)
|
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/abort-hot-comment/", ""))
|
|
||||||
.sort(),
|
|
||||||
abortHotCommentNgcFiles,
|
abortHotCommentNgcFiles,
|
||||||
"interp abort-hot-comment staging manifest drift",
|
abortHotCommentPlan,
|
||||||
);
|
);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_abort_hot_comment_wasm",
|
"interp_abort_hot_comment_wasm",
|
||||||
@@ -2650,14 +2642,10 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFilesRecursive("m19"),
|
interpRegressionNgcFilesRecursive("m19"),
|
||||||
"interp m19 fixture coverage drift",
|
"interp m19 fixture coverage drift",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assertInterpIniContextNgcStaging(
|
||||||
m19Plan.files
|
"m19",
|
||||||
.map((file) => file.sourceRel)
|
|
||||||
.filter((sourceRel) => sourceRel.endsWith(".ngc"))
|
|
||||||
.map((sourceRel) => sourceRel.replace("tests/interp/m19/", ""))
|
|
||||||
.sort(),
|
|
||||||
m19NgcFiles,
|
m19NgcFiles,
|
||||||
"interp m19 staging manifest drift",
|
m19Plan,
|
||||||
);
|
);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_m19_wasm",
|
"interp_m19_wasm",
|
||||||
|
|||||||
Reference in New Issue
Block a user