Guard g71 g72 direct-file staging
This commit is contained in:
48
text6.txt
48
text6.txt
@@ -1207,3 +1207,51 @@ wasm-port/tests/host/verify_host_smokes.sh
|
|||||||
建议先选 `g71/g72`,因为 file list 较短且已有 Node/browser coverage,适合继续复用
|
建议先选 `g71/g72`,因为 file list 较短且已有 Node/browser coverage,适合继续复用
|
||||||
single-file helper 收敛 staging path guard。继续避免 blocked runtime promotion、
|
single-file helper 收敛 staging path guard。继续避免 blocked runtime promotion、
|
||||||
browser full inventory 扩面和 JS CNC 语义实现。
|
browser full inventory 扩面和 JS CNC 语义实现。
|
||||||
|
|
||||||
|
二十九、2026-06-13 继续执行记录:g71/g72 direct-file staging guard
|
||||||
|
|
||||||
|
本批按上一条建议处理 `g71/g72` direct-file loop,复用
|
||||||
|
`assertInterpRegressionFileStaging(...)` 替换 loop 内联 staged path 检查:
|
||||||
|
|
||||||
|
- `g72-facing/g72-iterations-present.ngc`
|
||||||
|
- `g72-missing-iteration/g72-iterations-missing.ngc`
|
||||||
|
- `g71-endless-loop/g71-endless-loop.ngc`
|
||||||
|
- `g71-endless-loop2/g71-endless-loop2.ngc`
|
||||||
|
- `g71-endless-loop_2/g71-endless-loop_2.ngc`
|
||||||
|
- `g71-with-g70/g71-with-g70.ngc`
|
||||||
|
|
||||||
|
完成内容:
|
||||||
|
|
||||||
|
- Node 侧保留每个 fixture 目录的 upstream `.ngc` coverage check;
|
||||||
|
- Node 侧将 loop 内联 staged path `deepEqual` 替换为
|
||||||
|
`assertInterpRegressionFileStaging(...)`;
|
||||||
|
- browser 侧保留 fixed fixture list duplicate-free guard;
|
||||||
|
- browser 侧将 loop 内联 `replace("/work/browser-interp/", "")` 对账替换为
|
||||||
|
`assertInterpRegressionFileStaging(...)`;
|
||||||
|
- browser 侧仍不枚举目录;
|
||||||
|
- 仅整理 host/filesystem staging guard,不改变 G71/G72 canned cycle 执行语义。
|
||||||
|
|
||||||
|
已运行验证:
|
||||||
|
|
||||||
|
```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
|
||||||
|
```
|
||||||
|
|
||||||
|
结果:全部通过。
|
||||||
|
|
||||||
|
下一步建议:
|
||||||
|
|
||||||
|
继续处理 `writeInterpRegressionFile(...)` aggregate direct-file loop。优先候选:
|
||||||
|
|
||||||
|
- `good` arc fixture loop;
|
||||||
|
- `bad` error fixture loop。
|
||||||
|
|
||||||
|
建议先选 `good`,因为固定 6 个 arc fixture,Node/browser coverage 已成型,适合继续
|
||||||
|
用 single-file helper 替换 aggregate staged path guard。继续避免 blocked runtime
|
||||||
|
promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
||||||
|
|||||||
@@ -7251,10 +7251,7 @@
|
|||||||
}
|
}
|
||||||
for (const g72Fixture of g72Fixtures) {
|
for (const g72Fixture of g72Fixtures) {
|
||||||
const g72Path = await writeInterpRegressionFile(interp, g72Fixture.dir, g72Fixture.file);
|
const g72Path = await writeInterpRegressionFile(interp, g72Fixture.dir, g72Fixture.file);
|
||||||
const g72StagedRelativeNgcFile = g72Path.replace("/work/browser-interp/", "");
|
assertInterpRegressionFileStaging(g72Fixture.dir, g72Fixture.file, g72Path);
|
||||||
if (g72StagedRelativeNgcFile !== `${g72Fixture.dir}/${g72Fixture.file}`) {
|
|
||||||
throw new Error(`browser_interp_g72_${g72Fixture.name}_staging_manifest: list drift`);
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
`browser_interp_g72_${g72Fixture.name}`,
|
`browser_interp_g72_${g72Fixture.name}`,
|
||||||
interp.runFile(g72Path),
|
interp.runFile(g72Path),
|
||||||
@@ -7331,10 +7328,7 @@
|
|||||||
}
|
}
|
||||||
for (const g71Fixture of g71Fixtures) {
|
for (const g71Fixture of g71Fixtures) {
|
||||||
const g71Path = await writeInterpRegressionFile(interp, g71Fixture.dir, g71Fixture.file);
|
const g71Path = await writeInterpRegressionFile(interp, g71Fixture.dir, g71Fixture.file);
|
||||||
const g71StagedRelativeNgcFile = g71Path.replace("/work/browser-interp/", "");
|
assertInterpRegressionFileStaging(g71Fixture.dir, g71Fixture.file, g71Path);
|
||||||
if (g71StagedRelativeNgcFile !== `${g71Fixture.dir}/${g71Fixture.file}`) {
|
|
||||||
throw new Error(`browser_interp_g71_${g71Fixture.name}_staging_manifest: list drift`);
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
`browser_interp_g71_${g71Fixture.name}`,
|
`browser_interp_g71_${g71Fixture.name}`,
|
||||||
interp.runFile(g71Path),
|
interp.runFile(g71Path),
|
||||||
|
|||||||
@@ -2228,11 +2228,7 @@ for (const g72Fixture of g72Fixtures) {
|
|||||||
`interp ${g72Fixture.dir} fixture coverage drift`,
|
`interp ${g72Fixture.dir} fixture coverage drift`,
|
||||||
);
|
);
|
||||||
const g72Path = writeInterpRegressionFile(g72Fixture.dir, g72Fixture.file);
|
const g72Path = writeInterpRegressionFile(g72Fixture.dir, g72Fixture.file);
|
||||||
assert.deepEqual(
|
assertInterpRegressionFileStaging(g72Fixture.dir, g72Fixture.file, g72Path);
|
||||||
[g72Path],
|
|
||||||
[`/work/interp/${g72Fixture.dir}/${g72Fixture.file}`],
|
|
||||||
`interp ${g72Fixture.dir} staging manifest drift`,
|
|
||||||
);
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
`interp_g72_${g72Fixture.name}_wasm`,
|
`interp_g72_${g72Fixture.name}_wasm`,
|
||||||
interp.runFile(g72Path),
|
interp.runFile(g72Path),
|
||||||
@@ -2311,11 +2307,7 @@ for (const g71Fixture of g71Fixtures) {
|
|||||||
`interp ${g71Fixture.dir} fixture coverage drift`,
|
`interp ${g71Fixture.dir} fixture coverage drift`,
|
||||||
);
|
);
|
||||||
const g71Path = writeInterpRegressionFile(g71Fixture.dir, g71Fixture.file);
|
const g71Path = writeInterpRegressionFile(g71Fixture.dir, g71Fixture.file);
|
||||||
assert.deepEqual(
|
assertInterpRegressionFileStaging(g71Fixture.dir, g71Fixture.file, g71Path);
|
||||||
[g71Path],
|
|
||||||
[`/work/interp/${g71Fixture.dir}/${g71Fixture.file}`],
|
|
||||||
`interp ${g71Fixture.dir} staging manifest drift`,
|
|
||||||
);
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
`interp_g71_${g71Fixture.name}_wasm`,
|
`interp_g71_${g71Fixture.name}_wasm`,
|
||||||
interp.runFile(g71Path),
|
interp.runFile(g71Path),
|
||||||
|
|||||||
Reference in New Issue
Block a user