Guard m98m99 named-program staging
This commit is contained in:
43
text6.txt
43
text6.txt
@@ -977,3 +977,46 @@ wasm-port/tests/host/verify_host_smokes.sh
|
||||
同时保留 `m98m99/14-o-expression-call` direct-file slice guard;如继续小批量,
|
||||
也可处理 `m98m99/09`、`11` 后续文档索引。继续避免 blocked runtime promotion、
|
||||
browser full inventory 扩面和 JS CNC 语义实现。
|
||||
|
||||
二十四、2026-06-13 继续执行记录:m98m99 named-program staging guard
|
||||
|
||||
本批继续复用 `assertInterpRegressionStaging(...)`,把
|
||||
`m98m99/13-named-program` 从 final aggregate direct-file guard 中拆成
|
||||
per-directory staged path guard,同时保留 `m98m99/14-o-expression-call` 的
|
||||
direct-file slice guard。
|
||||
|
||||
完成内容:
|
||||
|
||||
- Node 侧将 `13-named-program` 的 `test-named.ngc` 与 `test-numbered.ngc` 提成
|
||||
fixed manifest;
|
||||
- Node 侧用 upstream vendored `.ngc` 文件清单与 fixed manifest 精确对账;
|
||||
- Node 侧检查 staged path 与 `/work/interp/m98m99/13-named-program/...` 一致;
|
||||
- Node 侧将 final direct-file slice 收缩为只覆盖 `14-o-expression-call/test.ngc`;
|
||||
- browser 侧新增同名 fixed manifest guard;
|
||||
- browser 侧检查 staged path 去掉
|
||||
`/work/browser-interp/m98m99/13-named-program/` 前缀后与 fixed manifest 一致;
|
||||
- browser 侧仍不枚举目录;
|
||||
- 仅整理 host/filesystem staging guard,不改变 named-program 或 o-expression call
|
||||
语义。
|
||||
|
||||
已运行验证:
|
||||
|
||||
```bash
|
||||
git diff --check
|
||||
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
|
||||
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_sim_configs_inventory_wasm.sh
|
||||
wasm-port/tests/host/verify_host_smokes.sh
|
||||
```
|
||||
|
||||
结果:全部通过。
|
||||
|
||||
下一步建议:
|
||||
|
||||
m98m99 目录级 staged path guard 已基本收束。下一批建议扫描 `writeInterpRegressionFile(...)`
|
||||
的剩余单文件 direct-file guard,优先选择仍由 aggregate slice 间接覆盖的短小 case,
|
||||
把它们改成局部 fixed path guard;如果继续保持小步提交,可从 `g10` 之后的
|
||||
direct-file families 或 `writeInterpRegressionFiles(...)` 其他调用点继续收敛。仍不推进
|
||||
blocked runtime promotion、browser full inventory 扩面或 JS CNC 语义实现。
|
||||
|
||||
@@ -8373,14 +8373,23 @@
|
||||
);
|
||||
}
|
||||
|
||||
const m98m99NamedProgramNamedPath = await writeInterpRegressionFile(
|
||||
const m98m99NamedProgramFiles = [
|
||||
"test-named.ngc",
|
||||
"test-numbered.ngc",
|
||||
];
|
||||
const m98m99NamedProgramDir = await writeInterpRegressionFiles(
|
||||
interp,
|
||||
"m98m99/13-named-program",
|
||||
"test-named.ngc",
|
||||
m98m99NamedProgramFiles,
|
||||
);
|
||||
assertInterpRegressionStaging(
|
||||
"m98m99/13-named-program",
|
||||
m98m99NamedProgramFiles,
|
||||
m98m99NamedProgramDir,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"browser_interp_m98m99_13_named_program_named",
|
||||
interp.runFile(m98m99NamedProgramNamedPath),
|
||||
interp.runFile(`${m98m99NamedProgramDir}/test-named.ngc`),
|
||||
[
|
||||
"file_open=0",
|
||||
"file_read_count=4",
|
||||
@@ -8392,14 +8401,9 @@
|
||||
].join("\n"),
|
||||
);
|
||||
|
||||
const m98m99NamedProgramNumberedPath = await writeInterpRegressionFile(
|
||||
interp,
|
||||
"m98m99/13-named-program",
|
||||
"test-numbered.ngc",
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"browser_interp_m98m99_13_named_program_numbered",
|
||||
interp.runFile(m98m99NamedProgramNumberedPath),
|
||||
interp.runFile(`${m98m99NamedProgramDir}/test-numbered.ngc`),
|
||||
[
|
||||
"file_open=0",
|
||||
"file_read_count=4",
|
||||
@@ -8416,12 +8420,10 @@
|
||||
"m98m99/14-o-expression-call",
|
||||
"test.ngc",
|
||||
);
|
||||
const m98m99FinalStagedNgcFiles = [
|
||||
m98m99NamedProgramNamedPath,
|
||||
m98m99NamedProgramNumberedPath,
|
||||
m98m99OExpressionCallPath,
|
||||
].map((path) => path.replace("/work/browser-interp/m98m99/", ""));
|
||||
if (m98m99FinalStagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(21, 24).join(",")) {
|
||||
const m98m99OExpressionCallStagedNgcFiles = [m98m99OExpressionCallPath].map((path) =>
|
||||
path.replace("/work/browser-interp/m98m99/", ""),
|
||||
);
|
||||
if (m98m99OExpressionCallStagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(23, 24).join(",")) {
|
||||
throw new Error("browser_interp_m98m99_final_staging_manifest: list drift");
|
||||
}
|
||||
const m98m99OExpressionCallRun = runWithCapturedPrints(() =>
|
||||
|
||||
@@ -3352,13 +3352,22 @@ for (const mainProgramErrorFixture of [
|
||||
);
|
||||
}
|
||||
|
||||
const m98m99NamedProgramNamedPath = writeInterpRegressionFile(
|
||||
"m98m99/13-named-program",
|
||||
const m98m99NamedProgramFiles = [
|
||||
"test-named.ngc",
|
||||
"test-numbered.ngc",
|
||||
];
|
||||
const m98m99NamedProgramDir = writeInterpRegressionFiles(
|
||||
"m98m99/13-named-program",
|
||||
m98m99NamedProgramFiles,
|
||||
);
|
||||
assertInterpRegressionStaging(
|
||||
"m98m99/13-named-program",
|
||||
m98m99NamedProgramFiles,
|
||||
m98m99NamedProgramDir,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"interp_m98m99_13_named_program_named_wasm",
|
||||
interp.runFile(m98m99NamedProgramNamedPath),
|
||||
interp.runFile(`${m98m99NamedProgramDir}/test-named.ngc`),
|
||||
[
|
||||
"file_open=0",
|
||||
"file_read_count=4",
|
||||
@@ -3370,13 +3379,9 @@ verifyExpectedOutput(
|
||||
].join("\n"),
|
||||
);
|
||||
|
||||
const m98m99NamedProgramNumberedPath = writeInterpRegressionFile(
|
||||
"m98m99/13-named-program",
|
||||
"test-numbered.ngc",
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"interp_m98m99_13_named_program_numbered_wasm",
|
||||
interp.runFile(m98m99NamedProgramNumberedPath),
|
||||
interp.runFile(`${m98m99NamedProgramDir}/test-numbered.ngc`),
|
||||
[
|
||||
"file_open=0",
|
||||
"file_read_count=4",
|
||||
@@ -3393,15 +3398,11 @@ const m98m99OExpressionCallPath = writeInterpRegressionFile(
|
||||
"test.ngc",
|
||||
);
|
||||
assert.deepEqual(
|
||||
[
|
||||
m98m99NamedProgramNamedPath,
|
||||
m98m99NamedProgramNumberedPath,
|
||||
m98m99OExpressionCallPath,
|
||||
],
|
||||
[m98m99OExpressionCallPath],
|
||||
m98m99RegressionFiles
|
||||
.slice(21, 24)
|
||||
.slice(23, 24)
|
||||
.map((file) => `/work/interp/m98m99/${file}`),
|
||||
"interp m98m99 final direct-file staging manifest drift",
|
||||
"interp m98m99 final o-expression direct-file staging manifest drift",
|
||||
);
|
||||
const m98m99OExpressionCallRun = runWithCapturedPrints(() =>
|
||||
interp.runFile(m98m99OExpressionCallPath),
|
||||
|
||||
Reference in New Issue
Block a user