Guard bad error direct-file staging
This commit is contained in:
42
text6.txt
42
text6.txt
@@ -1299,3 +1299,45 @@ wasm-port/tests/host/verify_host_smokes.sh
|
|||||||
适合复用 `assertInterpRegressionFileStaging(...)` 替换当前 aggregate staged path
|
适合复用 `assertInterpRegressionFileStaging(...)` 替换当前 aggregate staged path
|
||||||
guard。继续避免 blocked runtime promotion、browser full inventory 扩面和 JS CNC
|
guard。继续避免 blocked runtime promotion、browser full inventory 扩面和 JS CNC
|
||||||
语义实现。
|
语义实现。
|
||||||
|
|
||||||
|
三十一、2026-06-13 继续执行记录:bad error direct-file staging guard
|
||||||
|
|
||||||
|
本批处理 `bad` error fixture loop,复用 `assertInterpRegressionFileStaging(...)`
|
||||||
|
替换 aggregate staged path guard。
|
||||||
|
|
||||||
|
完成内容:
|
||||||
|
|
||||||
|
- Node 侧保留 `badInterpFixtures` 与 upstream `.ngc` manifest 的覆盖检查;
|
||||||
|
- Node 侧删除 `badStagedNgcFiles` aggregate staged path 对账;
|
||||||
|
- Node 侧在 loop 内为 21 个 bad fixture 调用 single-file staging helper;
|
||||||
|
- browser 侧保留 fixed fixture list duplicate-free guard;
|
||||||
|
- browser 侧删除 `badStagedRelativeNgcFiles` aggregate staged path 对账;
|
||||||
|
- browser 侧在 loop 内为 21 个 bad fixture 调用 single-file staging helper;
|
||||||
|
- browser 侧仍不枚举目录;
|
||||||
|
- 仅整理 host/filesystem staging guard,不改变 bad fixture error 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
|
||||||
|
```
|
||||||
|
|
||||||
|
结果:全部通过。
|
||||||
|
|
||||||
|
下一步建议:
|
||||||
|
|
||||||
|
继续收敛剩余 direct-file aggregate guard。优先候选:
|
||||||
|
|
||||||
|
- `g33.1/g33.1.ngc`
|
||||||
|
- `g6164/test.ngc`
|
||||||
|
- `g52/offsets.ngc`
|
||||||
|
|
||||||
|
这些都是小型 single-file case,适合复用 `assertInterpRegressionFileStaging(...)`
|
||||||
|
替换内联 staged path 对账。之后再处理 `g10` 初始/最终 aggregate guard。继续避免
|
||||||
|
blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
||||||
|
|||||||
@@ -7077,10 +7077,9 @@
|
|||||||
if (badInterpFixtures.length !== 21 || new Set(badInterpFixtures.map((fixture) => fixture.file)).size !== badInterpFixtures.length) {
|
if (badInterpFixtures.length !== 21 || new Set(badInterpFixtures.map((fixture) => fixture.file)).size !== badInterpFixtures.length) {
|
||||||
throw new Error("browser_interp_bad_fixture_coverage: list drift");
|
throw new Error("browser_interp_bad_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const badStagedNgcFiles = [];
|
|
||||||
for (const badFixture of badInterpFixtures) {
|
for (const badFixture of badInterpFixtures) {
|
||||||
const badPath = await writeInterpRegressionFile(interp, "bad", badFixture.file);
|
const badPath = await writeInterpRegressionFile(interp, "bad", badFixture.file);
|
||||||
badStagedNgcFiles.push(badPath);
|
assertInterpRegressionFileStaging("bad", badFixture.file, badPath);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
`browser_interp_bad_${badFixture.name}`,
|
`browser_interp_bad_${badFixture.name}`,
|
||||||
interp.runFile(badPath),
|
interp.runFile(badPath),
|
||||||
@@ -7094,10 +7093,6 @@
|
|||||||
].join("\n"),
|
].join("\n"),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
const badStagedRelativeNgcFiles = badStagedNgcFiles.map((path) => path.replace("/work/browser-interp/bad/", ""));
|
|
||||||
if (badStagedRelativeNgcFiles.join(",") !== badInterpFixtures.map((fixture) => fixture.file).join(",")) {
|
|
||||||
throw new Error("browser_interp_bad_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
|
|
||||||
const g33_1Path = await writeInterpRegressionFile(interp, "g33.1", "g33.1.ngc");
|
const g33_1Path = await writeInterpRegressionFile(interp, "g33.1", "g33.1.ngc");
|
||||||
const g33_1NgcFiles = [
|
const g33_1NgcFiles = [
|
||||||
|
|||||||
@@ -2042,10 +2042,9 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFiles("bad"),
|
interpRegressionNgcFiles("bad"),
|
||||||
"interp bad fixture coverage drift",
|
"interp bad fixture coverage drift",
|
||||||
);
|
);
|
||||||
const badStagedNgcFiles = [];
|
|
||||||
for (const badFixture of badInterpFixtures) {
|
for (const badFixture of badInterpFixtures) {
|
||||||
const badPath = writeInterpRegressionFile("bad", badFixture.file);
|
const badPath = writeInterpRegressionFile("bad", badFixture.file);
|
||||||
badStagedNgcFiles.push(badPath);
|
assertInterpRegressionFileStaging("bad", badFixture.file, badPath);
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
`interp_bad_${badFixture.name}_wasm`,
|
`interp_bad_${badFixture.name}_wasm`,
|
||||||
interp.runFile(badPath),
|
interp.runFile(badPath),
|
||||||
@@ -2059,11 +2058,6 @@ for (const badFixture of badInterpFixtures) {
|
|||||||
].join("\n"),
|
].join("\n"),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
assert.deepEqual(
|
|
||||||
badStagedNgcFiles,
|
|
||||||
badInterpFixtures.map((fixture) => `/work/interp/bad/${fixture.file}`),
|
|
||||||
"interp bad staging manifest drift",
|
|
||||||
);
|
|
||||||
|
|
||||||
const g33_1Path = writeInterpRegressionFile("g33.1", "g33.1.ngc");
|
const g33_1Path = writeInterpRegressionFile("g33.1", "g33.1.ngc");
|
||||||
const g33_1NgcFiles = [
|
const g33_1NgcFiles = [
|
||||||
|
|||||||
Reference in New Issue
Block a user