diff --git a/text6.txt b/text6.txt index 7f087ef..d9790b8 100644 --- a/text6.txt +++ b/text6.txt @@ -1255,3 +1255,47 @@ wasm-port/tests/host/verify_host_smokes.sh 建议先选 `good`,因为固定 6 个 arc fixture,Node/browser coverage 已成型,适合继续 用 single-file helper 替换 aggregate staged path guard。继续避免 blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。 + +三十、2026-06-13 继续执行记录:good arc direct-file staging guard + +本批处理 `good` arc fixture loop,复用 `assertInterpRegressionFileStaging(...)` +替换 aggregate staged path guard: + +- `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` 与 upstream `.ngc` manifest 的覆盖检查; +- Node 侧删除 `goodArcStagedNgcFiles` aggregate staged path 对账; +- Node 侧在 loop 内为每个 fixture 调用 `assertInterpRegressionFileStaging(...)`; +- browser 侧保留 fixed fixture list duplicate-free guard; +- browser 侧删除 `goodArcStagedRelativeNgcFiles` aggregate staged path 对账; +- browser 侧在 loop 内为每个 fixture 调用 single-file staging helper; +- browser 侧仍不枚举目录; +- 仅整理 host/filesystem staging guard,不改变 arc interpreter 语义或 expected output。 + +已运行验证: + +```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 +``` + +结果:全部通过。 + +下一步建议: + +继续处理 `bad` error fixture loop。它已有 Node/browser coverage 和 fixed fixture list, +适合复用 `assertInterpRegressionFileStaging(...)` 替换当前 aggregate staged path +guard。继续避免 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 c10bc5b..4ad34c2 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -7177,10 +7177,9 @@ 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); + assertInterpRegressionFileStaging("good", goodArcFixture.file, goodArcPath); verifyExpectedOutput( `browser_interp_good_arc_${goodArcFixture.name}`, interp.runFile(goodArcPath), @@ -7196,10 +7195,6 @@ ].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 7cc68d0..affd387 100644 --- a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs +++ b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs @@ -2148,10 +2148,9 @@ 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); + assertInterpRegressionFileStaging("good", goodArcFixture.file, goodArcPath); verifyExpectedOutput( `interp_good_arc_${goodArcFixture.name}_wasm`, interp.runFile(goodArcPath), @@ -2167,11 +2166,6 @@ 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 = [