Guard good arc direct-file staging
This commit is contained in:
44
text6.txt
44
text6.txt
@@ -1255,3 +1255,47 @@ wasm-port/tests/host/verify_host_smokes.sh
|
|||||||
建议先选 `good`,因为固定 6 个 arc fixture,Node/browser coverage 已成型,适合继续
|
建议先选 `good`,因为固定 6 个 arc fixture,Node/browser coverage 已成型,适合继续
|
||||||
用 single-file helper 替换 aggregate staged path guard。继续避免 blocked runtime
|
用 single-file helper 替换 aggregate staged path guard。继续避免 blocked runtime
|
||||||
promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
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
|
||||||
|
语义实现。
|
||||||
|
|||||||
@@ -7177,10 +7177,9 @@
|
|||||||
if (goodArcFixtures.length !== 6 || new Set(goodArcFixtures.map((fixture) => fixture.file)).size !== goodArcFixtures.length) {
|
if (goodArcFixtures.length !== 6 || new Set(goodArcFixtures.map((fixture) => fixture.file)).size !== goodArcFixtures.length) {
|
||||||
throw new Error("browser_interp_good_fixture_coverage: list drift");
|
throw new Error("browser_interp_good_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const goodArcStagedNgcFiles = [];
|
|
||||||
for (const goodArcFixture of goodArcFixtures) {
|
for (const goodArcFixture of goodArcFixtures) {
|
||||||
const goodArcPath = await writeInterpRegressionFile(interp, "good", goodArcFixture.file);
|
const goodArcPath = await writeInterpRegressionFile(interp, "good", goodArcFixture.file);
|
||||||
goodArcStagedNgcFiles.push(goodArcPath);
|
assertInterpRegressionFileStaging("good", goodArcFixture.file, goodArcPath);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
`browser_interp_good_arc_${goodArcFixture.name}`,
|
`browser_interp_good_arc_${goodArcFixture.name}`,
|
||||||
interp.runFile(goodArcPath),
|
interp.runFile(goodArcPath),
|
||||||
@@ -7196,10 +7195,6 @@
|
|||||||
].join("\n"),
|
].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 g6164Path = await writeInterpRegressionFile(interp, "g6164", "test.ngc");
|
||||||
const g6164NgcFiles = [
|
const g6164NgcFiles = [
|
||||||
|
|||||||
@@ -2148,10 +2148,9 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFiles("good"),
|
interpRegressionNgcFiles("good"),
|
||||||
"interp good fixture coverage drift",
|
"interp good fixture coverage drift",
|
||||||
);
|
);
|
||||||
const goodArcStagedNgcFiles = [];
|
|
||||||
for (const goodArcFixture of goodArcFixtures) {
|
for (const goodArcFixture of goodArcFixtures) {
|
||||||
const goodArcPath = writeInterpRegressionFile("good", goodArcFixture.file);
|
const goodArcPath = writeInterpRegressionFile("good", goodArcFixture.file);
|
||||||
goodArcStagedNgcFiles.push(goodArcPath);
|
assertInterpRegressionFileStaging("good", goodArcFixture.file, goodArcPath);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
`interp_good_arc_${goodArcFixture.name}_wasm`,
|
`interp_good_arc_${goodArcFixture.name}_wasm`,
|
||||||
interp.runFile(goodArcPath),
|
interp.runFile(goodArcPath),
|
||||||
@@ -2167,11 +2166,6 @@ for (const goodArcFixture of goodArcFixtures) {
|
|||||||
].join("\n"),
|
].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 g6164Path = writeInterpRegressionFile("g6164", "test.ngc");
|
||||||
const g6164NgcFiles = [
|
const g6164NgcFiles = [
|
||||||
|
|||||||
Reference in New Issue
Block a user