diff --git a/text6.txt b/text6.txt index 5d72293..44eacb0 100644 --- a/text6.txt +++ b/text6.txt @@ -370,3 +370,48 @@ wasm-port/tests/host/verify_host_smokes.sh `good` arc 6 项可按已有 fixed fixture list 补 staged path 对账;或者 `g72` 两项、 `g71` 四项按 loop manifest 成组补 guard。继续避免 blocked runtime promotion、 browser full inventory 扩面,以及任何 JS CNC 语义实现。 + +十、2026-06-13 继续执行记录:good arc staging path guard + +本批按“自然成组 direct-file fixture staged path guard”推进,完成 `good` arc 目录 +6 个已有 Node/browser coverage 的 `.ngc` fixture: + +- `good/good-arc.big.imperial.center-format.ngc` +- `good/good-arc.big.metric.center-format.ngc` +- `good/good-arc.medium.imperial.center-format.ngc` +- `good/good-arc.medium.metric.center-format.ngc` +- `good/good-arc.small.imperial.center-format.ngc` +- `good/good-arc.small.metric.center-format.ngc` + +完成内容: + +- Node 侧复用既有 `goodArcFixtures` fixed manifest; +- Node 侧继续用 `interpRegressionNgcFiles("good")` 与 upstream vendored fixture + 精确对账; +- Node 侧收集实际 staged path,并检查与 fixed manifest 一致; +- browser 侧复用既有 fixed-count 与 duplicate-free guard; +- browser 侧收集实际 staged path,去掉 `/work/browser-interp/good/` 前缀后与 + 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。优先候选:`g72` 两项或 `g71` 四项按 +loop manifest 成组补 staged path guard;如果选择 `bad` expected-error 目录, +需要按现有 `badInterpFixtures` fixed list 做 staged path 对账,不改变 expected-error +语义。继续避免 blocked runtime promotion、browser full inventory 扩面和 JS CNC +语义实现。 diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index 3128b65..941e1c1 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -7089,8 +7089,10 @@ if (goodArcFixtures.length !== 6 || new Set(goodArcFixtures.map((fixture) => fixture.file)).size !== goodArcFixtures.length) { throw new Error("browser_interp_good_fixture_coverage: list drift"); } + const goodArcStagedNgcFiles = []; for (const goodArcFixture of goodArcFixtures) { const goodArcPath = await writeInterpRegressionFile(interp, "good", goodArcFixture.file); + goodArcStagedNgcFiles.push(goodArcPath); verifyExpectedOutput( `browser_interp_good_arc_${goodArcFixture.name}`, interp.runFile(goodArcPath), @@ -7106,6 +7108,10 @@ ].join("\n"), ); } + const goodArcStagedRelativeNgcFiles = goodArcStagedNgcFiles.map((path) => path.replace("/work/browser-interp/good/", "")); + if (goodArcStagedRelativeNgcFiles.join(",") !== goodArcFixtures.map((fixture) => fixture.file).join(",")) { + throw new Error("browser_interp_good_staging_manifest: list drift"); + } const g6164Path = await writeInterpRegressionFile(interp, "g6164", "test.ngc"); const g6164NgcFiles = [ diff --git a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs index b91e7cd..dffe2b6 100644 --- a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs +++ b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs @@ -2029,8 +2029,10 @@ assert.deepEqual( interpRegressionNgcFiles("good"), "interp good fixture coverage drift", ); +const goodArcStagedNgcFiles = []; for (const goodArcFixture of goodArcFixtures) { const goodArcPath = writeInterpRegressionFile("good", goodArcFixture.file); + goodArcStagedNgcFiles.push(goodArcPath); verifyExpectedOutput( `interp_good_arc_${goodArcFixture.name}_wasm`, interp.runFile(goodArcPath), @@ -2046,6 +2048,11 @@ for (const goodArcFixture of goodArcFixtures) { ].join("\n"), ); } +assert.deepEqual( + goodArcStagedNgcFiles, + goodArcFixtures.map((fixture) => `/work/interp/good/${fixture.file}`), + "interp good staging manifest drift", +); const g6164Path = writeInterpRegressionFile("g6164", "test.ngc"); const g6164NgcFiles = [