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
|
||||
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) {
|
||||
throw new Error("browser_interp_bad_fixture_coverage: list drift");
|
||||
}
|
||||
const badStagedNgcFiles = [];
|
||||
for (const badFixture of badInterpFixtures) {
|
||||
const badPath = await writeInterpRegressionFile(interp, "bad", badFixture.file);
|
||||
badStagedNgcFiles.push(badPath);
|
||||
assertInterpRegressionFileStaging("bad", badFixture.file, badPath);
|
||||
verifyExpectedOutput(
|
||||
`browser_interp_bad_${badFixture.name}`,
|
||||
interp.runFile(badPath),
|
||||
@@ -7094,10 +7093,6 @@
|
||||
].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_1NgcFiles = [
|
||||
|
||||
@@ -2042,10 +2042,9 @@ assert.deepEqual(
|
||||
interpRegressionNgcFiles("bad"),
|
||||
"interp bad fixture coverage drift",
|
||||
);
|
||||
const badStagedNgcFiles = [];
|
||||
for (const badFixture of badInterpFixtures) {
|
||||
const badPath = writeInterpRegressionFile("bad", badFixture.file);
|
||||
badStagedNgcFiles.push(badPath);
|
||||
assertInterpRegressionFileStaging("bad", badFixture.file, badPath);
|
||||
verifyExpectedOutput(
|
||||
`interp_bad_${badFixture.name}_wasm`,
|
||||
interp.runFile(badPath),
|
||||
@@ -2059,11 +2058,6 @@ for (const badFixture of badInterpFixtures) {
|
||||
].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_1NgcFiles = [
|
||||
|
||||
Reference in New Issue
Block a user