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/14-o-expression-call` direct-file slice guard;如继续小批量,
|
||||||
也可处理 `m98m99/09`、`11` 后续文档索引。继续避免 blocked runtime promotion、
|
也可处理 `m98m99/09`、`11` 后续文档索引。继续避免 blocked runtime promotion、
|
||||||
browser full inventory 扩面和 JS CNC 语义实现。
|
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,
|
interp,
|
||||||
"m98m99/13-named-program",
|
"m98m99/13-named-program",
|
||||||
"test-named.ngc",
|
m98m99NamedProgramFiles,
|
||||||
|
);
|
||||||
|
assertInterpRegressionStaging(
|
||||||
|
"m98m99/13-named-program",
|
||||||
|
m98m99NamedProgramFiles,
|
||||||
|
m98m99NamedProgramDir,
|
||||||
);
|
);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_m98m99_13_named_program_named",
|
"browser_interp_m98m99_13_named_program_named",
|
||||||
interp.runFile(m98m99NamedProgramNamedPath),
|
interp.runFile(`${m98m99NamedProgramDir}/test-named.ngc`),
|
||||||
[
|
[
|
||||||
"file_open=0",
|
"file_open=0",
|
||||||
"file_read_count=4",
|
"file_read_count=4",
|
||||||
@@ -8392,14 +8401,9 @@
|
|||||||
].join("\n"),
|
].join("\n"),
|
||||||
);
|
);
|
||||||
|
|
||||||
const m98m99NamedProgramNumberedPath = await writeInterpRegressionFile(
|
|
||||||
interp,
|
|
||||||
"m98m99/13-named-program",
|
|
||||||
"test-numbered.ngc",
|
|
||||||
);
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_m98m99_13_named_program_numbered",
|
"browser_interp_m98m99_13_named_program_numbered",
|
||||||
interp.runFile(m98m99NamedProgramNumberedPath),
|
interp.runFile(`${m98m99NamedProgramDir}/test-numbered.ngc`),
|
||||||
[
|
[
|
||||||
"file_open=0",
|
"file_open=0",
|
||||||
"file_read_count=4",
|
"file_read_count=4",
|
||||||
@@ -8416,12 +8420,10 @@
|
|||||||
"m98m99/14-o-expression-call",
|
"m98m99/14-o-expression-call",
|
||||||
"test.ngc",
|
"test.ngc",
|
||||||
);
|
);
|
||||||
const m98m99FinalStagedNgcFiles = [
|
const m98m99OExpressionCallStagedNgcFiles = [m98m99OExpressionCallPath].map((path) =>
|
||||||
m98m99NamedProgramNamedPath,
|
path.replace("/work/browser-interp/m98m99/", ""),
|
||||||
m98m99NamedProgramNumberedPath,
|
);
|
||||||
m98m99OExpressionCallPath,
|
if (m98m99OExpressionCallStagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(23, 24).join(",")) {
|
||||||
].map((path) => path.replace("/work/browser-interp/m98m99/", ""));
|
|
||||||
if (m98m99FinalStagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(21, 24).join(",")) {
|
|
||||||
throw new Error("browser_interp_m98m99_final_staging_manifest: list drift");
|
throw new Error("browser_interp_m98m99_final_staging_manifest: list drift");
|
||||||
}
|
}
|
||||||
const m98m99OExpressionCallRun = runWithCapturedPrints(() =>
|
const m98m99OExpressionCallRun = runWithCapturedPrints(() =>
|
||||||
|
|||||||
@@ -3352,13 +3352,22 @@ for (const mainProgramErrorFixture of [
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const m98m99NamedProgramNamedPath = writeInterpRegressionFile(
|
const m98m99NamedProgramFiles = [
|
||||||
"m98m99/13-named-program",
|
|
||||||
"test-named.ngc",
|
"test-named.ngc",
|
||||||
|
"test-numbered.ngc",
|
||||||
|
];
|
||||||
|
const m98m99NamedProgramDir = writeInterpRegressionFiles(
|
||||||
|
"m98m99/13-named-program",
|
||||||
|
m98m99NamedProgramFiles,
|
||||||
|
);
|
||||||
|
assertInterpRegressionStaging(
|
||||||
|
"m98m99/13-named-program",
|
||||||
|
m98m99NamedProgramFiles,
|
||||||
|
m98m99NamedProgramDir,
|
||||||
);
|
);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_m98m99_13_named_program_named_wasm",
|
"interp_m98m99_13_named_program_named_wasm",
|
||||||
interp.runFile(m98m99NamedProgramNamedPath),
|
interp.runFile(`${m98m99NamedProgramDir}/test-named.ngc`),
|
||||||
[
|
[
|
||||||
"file_open=0",
|
"file_open=0",
|
||||||
"file_read_count=4",
|
"file_read_count=4",
|
||||||
@@ -3370,13 +3379,9 @@ verifyExpectedOutput(
|
|||||||
].join("\n"),
|
].join("\n"),
|
||||||
);
|
);
|
||||||
|
|
||||||
const m98m99NamedProgramNumberedPath = writeInterpRegressionFile(
|
|
||||||
"m98m99/13-named-program",
|
|
||||||
"test-numbered.ngc",
|
|
||||||
);
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_m98m99_13_named_program_numbered_wasm",
|
"interp_m98m99_13_named_program_numbered_wasm",
|
||||||
interp.runFile(m98m99NamedProgramNumberedPath),
|
interp.runFile(`${m98m99NamedProgramDir}/test-numbered.ngc`),
|
||||||
[
|
[
|
||||||
"file_open=0",
|
"file_open=0",
|
||||||
"file_read_count=4",
|
"file_read_count=4",
|
||||||
@@ -3393,15 +3398,11 @@ const m98m99OExpressionCallPath = writeInterpRegressionFile(
|
|||||||
"test.ngc",
|
"test.ngc",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
[
|
[m98m99OExpressionCallPath],
|
||||||
m98m99NamedProgramNamedPath,
|
|
||||||
m98m99NamedProgramNumberedPath,
|
|
||||||
m98m99OExpressionCallPath,
|
|
||||||
],
|
|
||||||
m98m99RegressionFiles
|
m98m99RegressionFiles
|
||||||
.slice(21, 24)
|
.slice(23, 24)
|
||||||
.map((file) => `/work/interp/m98m99/${file}`),
|
.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(() =>
|
const m98m99OExpressionCallRun = runWithCapturedPrints(() =>
|
||||||
interp.runFile(m98m99OExpressionCallPath),
|
interp.runFile(m98m99OExpressionCallPath),
|
||||||
|
|||||||
Reference in New Issue
Block a user