Guard g76 staging paths
This commit is contained in:
43
text6.txt
43
text6.txt
@@ -535,3 +535,46 @@ wasm-port/tests/host/verify_host_smokes.sh
|
||||
需要工具表/INI 的目录可按 `writeInterpRegressionFiles(...)` 现有 file list 做 staged
|
||||
path 对账;或者继续挑选短小单文件 direct-file case。仍不要推进 blocked runtime
|
||||
promotion、browser full inventory 扩面或任何 JS CNC 语义实现。
|
||||
|
||||
十四、2026-06-13 继续执行记录:g76 file-list staging path guard
|
||||
|
||||
本批按“已有明确 file list 的 fixture staged path guard”推进,完成 `g76` 目录
|
||||
现有 Node/browser coverage 使用的 2 个 staged 文件:
|
||||
|
||||
- `g76/g76only.ngc`
|
||||
- `g76/test.tbl`
|
||||
|
||||
完成内容:
|
||||
|
||||
- Node 侧新增 `g76Files` fixed manifest;
|
||||
- Node 侧用 `interpRegressionNgcFilesRecursive("g76")` 与 upstream vendored `.ngc`
|
||||
fixture 精确对账;
|
||||
- Node 侧检查 `writeInterpRegressionFiles(...)` 目标 staged path 与 fixed manifest
|
||||
一致;
|
||||
- browser 侧增加 fixed-count 与 duplicate-free guard;
|
||||
- browser 侧检查 staged path 去掉 `/work/browser-interp/g76/` 前缀后与 fixed
|
||||
manifest 一致;
|
||||
- 仅校验文件清单与 staging 路径,不改变工具表/INI 语义;
|
||||
- browser 仍不依赖目录枚举。
|
||||
|
||||
已运行验证:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
结果:全部通过。
|
||||
|
||||
下一步建议:
|
||||
|
||||
继续处理已有 Node/browser coverage 且 file list 明确的 fixture。优先候选:
|
||||
`cam-nisley` 同样使用 `writeInterpRegressionFiles(...)` staging `cam.ngc` 与
|
||||
`test.tbl`,可按本批模式补 file-list guard;或者继续挑选短小单文件 direct-file
|
||||
case。仍不要推进 blocked runtime promotion、browser full inventory 扩面或 JS CNC
|
||||
语义实现。
|
||||
|
||||
@@ -7269,10 +7269,18 @@
|
||||
);
|
||||
}
|
||||
|
||||
const g76Dir = await writeInterpRegressionFiles(interp, "g76", [
|
||||
const g76Files = [
|
||||
"g76only.ngc",
|
||||
"test.tbl",
|
||||
]);
|
||||
];
|
||||
if (g76Files.length !== 2 || new Set(g76Files).size !== g76Files.length) {
|
||||
throw new Error("browser_interp_g76_fixture_coverage: list drift");
|
||||
}
|
||||
const g76Dir = await writeInterpRegressionFiles(interp, "g76", g76Files);
|
||||
const g76StagedRelativeFiles = g76Files.map((file) => `${g76Dir}/${file}`.replace("/work/browser-interp/g76/", ""));
|
||||
if (g76StagedRelativeFiles.join(",") !== g76Files.join(",")) {
|
||||
throw new Error("browser_interp_g76_staging_manifest: list drift");
|
||||
}
|
||||
interp.writeTextFile(
|
||||
`${g76Dir}/test.ini`,
|
||||
[
|
||||
|
||||
@@ -2220,7 +2220,21 @@ for (const g71Fixture of g71Fixtures) {
|
||||
);
|
||||
}
|
||||
|
||||
const g76Dir = writeInterpRegressionFiles("g76", ["g76only.ngc", "test.tbl"]);
|
||||
const g76Files = [
|
||||
"g76only.ngc",
|
||||
"test.tbl",
|
||||
];
|
||||
assert.deepEqual(
|
||||
g76Files.filter((file) => file.endsWith(".ngc")),
|
||||
interpRegressionNgcFilesRecursive("g76"),
|
||||
"interp g76 fixture coverage drift",
|
||||
);
|
||||
const g76Dir = writeInterpRegressionFiles("g76", g76Files);
|
||||
assert.deepEqual(
|
||||
g76Files.map((file) => `${g76Dir}/${file}`),
|
||||
g76Files.map((file) => `/work/interp/g76/${file}`),
|
||||
"interp g76 staging manifest drift",
|
||||
);
|
||||
interp.writeTextFile(
|
||||
`${g76Dir}/test.ini`,
|
||||
[
|
||||
|
||||
Reference in New Issue
Block a user