Guard g72 staging paths
This commit is contained in:
40
text6.txt
40
text6.txt
@@ -415,3 +415,43 @@ loop manifest 成组补 staged path guard;如果选择 `bad` expected-error
|
||||
需要按现有 `badInterpFixtures` fixed list 做 staged path 对账,不改变 expected-error
|
||||
语义。继续避免 blocked runtime promotion、browser full inventory 扩面和 JS CNC
|
||||
语义实现。
|
||||
|
||||
十一、2026-06-13 继续执行记录:g72 staging path guard
|
||||
|
||||
本批按“自然成组 direct-file fixture staged path guard”推进,完成 `g72` loop 组
|
||||
2 个已有 Node/browser coverage 的 `.ngc` fixture:
|
||||
|
||||
- `g72-facing/g72-iterations-present.ngc`
|
||||
- `g72-missing-iteration/g72-iterations-missing.ngc`
|
||||
|
||||
完成内容:
|
||||
|
||||
- Node 侧将 `g72` inline loop 提成 `g72Fixtures` fixed manifest;
|
||||
- Node 侧用 `interpRegressionNgcFilesRecursive(...)` 分别与 upstream vendored
|
||||
fixture 目录精确对账;
|
||||
- Node 侧检查 staged path 与 fixed manifest 一致;
|
||||
- browser 侧增加 fixed-count 与 duplicate-free guard;
|
||||
- browser 侧检查 staged path 去掉 `/work/browser-interp/` 前缀后与
|
||||
`dir/file` fixed manifest 一致;
|
||||
- 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
|
||||
```
|
||||
|
||||
结果:全部通过。
|
||||
|
||||
下一步建议:
|
||||
|
||||
继续处理自然成组 direct-file fixtures。优先候选:`g71` 四项按现有 loop manifest
|
||||
补 staged path guard;或者处理 `bad` expected-error 目录,只做 fixed list 与
|
||||
staged path 对账,不改变 expected-error 语义。继续避免 blocked runtime promotion、
|
||||
browser full inventory 扩面和 JS CNC 语义实现。
|
||||
|
||||
@@ -7144,7 +7144,7 @@
|
||||
].join("\n"),
|
||||
);
|
||||
|
||||
for (const g72Fixture of [
|
||||
const g72Fixtures = [
|
||||
{
|
||||
name: "facing",
|
||||
dir: "g72-facing",
|
||||
@@ -7157,8 +7157,16 @@
|
||||
file: "g72-iterations-missing.ngc",
|
||||
finalZ: "-40",
|
||||
},
|
||||
]) {
|
||||
];
|
||||
if (g72Fixtures.length !== 2 || new Set(g72Fixtures.map((fixture) => `${fixture.dir}/${fixture.file}`)).size !== g72Fixtures.length) {
|
||||
throw new Error("browser_interp_g72_fixture_coverage: list drift");
|
||||
}
|
||||
for (const g72Fixture of g72Fixtures) {
|
||||
const g72Path = await writeInterpRegressionFile(interp, g72Fixture.dir, g72Fixture.file);
|
||||
const g72StagedRelativeNgcFile = g72Path.replace("/work/browser-interp/", "");
|
||||
if (g72StagedRelativeNgcFile !== `${g72Fixture.dir}/${g72Fixture.file}`) {
|
||||
throw new Error(`browser_interp_g72_${g72Fixture.name}_staging_manifest: list drift`);
|
||||
}
|
||||
verifyExpectedOutput(
|
||||
`browser_interp_g72_${g72Fixture.name}`,
|
||||
interp.runFile(g72Path),
|
||||
|
||||
@@ -2088,7 +2088,7 @@ verifyExpectedOutput(
|
||||
].join("\n"),
|
||||
);
|
||||
|
||||
for (const g72Fixture of [
|
||||
const g72Fixtures = [
|
||||
{
|
||||
name: "facing",
|
||||
dir: "g72-facing",
|
||||
@@ -2101,8 +2101,19 @@ for (const g72Fixture of [
|
||||
file: "g72-iterations-missing.ngc",
|
||||
finalZ: "-40",
|
||||
},
|
||||
]) {
|
||||
];
|
||||
for (const g72Fixture of g72Fixtures) {
|
||||
assert.deepEqual(
|
||||
[g72Fixture.file],
|
||||
interpRegressionNgcFilesRecursive(g72Fixture.dir),
|
||||
`interp ${g72Fixture.dir} fixture coverage drift`,
|
||||
);
|
||||
const g72Path = writeInterpRegressionFile(g72Fixture.dir, g72Fixture.file);
|
||||
assert.deepEqual(
|
||||
[g72Path],
|
||||
[`/work/interp/${g72Fixture.dir}/${g72Fixture.file}`],
|
||||
`interp ${g72Fixture.dir} staging manifest drift`,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
`interp_g72_${g72Fixture.name}_wasm`,
|
||||
interp.runFile(g72Path),
|
||||
|
||||
Reference in New Issue
Block a user