Guard g10 interpreter fixture coverage

This commit is contained in:
2026-06-12 23:06:07 +08:00
parent dcab5eaf32
commit b84dfbdcf0
3 changed files with 84 additions and 0 deletions

View File

@@ -6392,3 +6392,63 @@ Add blocked runtime gate review coverage
2. 若目标是“review 逻辑更清楚”:按上面的 2 个 review unit 审查,但提交时
可以合并为单提交;
3. 不建议现在做 4 个 hunk-level 提交,除非明确愿意承担拆分和重复验证成本。
六十六、2026-06-12 继续执行记录g10 pure interpreter fixture coverage guard
本轮在提交 `dcab5ea Add blocked runtime gate review coverage` 后继续推进。当前
host 仍缺 `halcmd`、`halrun`、`linuxcnc`、`milltask`,因此不执行任何
`ENABLE_*_RUNTIME_PROBE=1` opt-in native probe。
1. 候选选择。
由于 blocked runtime 仍不能推进,本轮选择不需要 host runtime 的 pure
interpreter coverage guard。对账发现 `tests/interp/g10` 当前 5 个 `.ngc` 已在
Node/browser 中执行覆盖,但尚未像 `good`、`bad`、`m98m99`、`magic_comments`、
`rotation` 那样锁定 upstream manifest。
当前 upstream `tests/interp/g10/**/*.ngc`
```text
g10-l1-l10/test.ngc
g10-l11/test.ngc
g10-l2-while-active/test.ngc
g10-l20-while-active/test.ngc
g10-with-g92/test.ngc
```
2. 更新。
更新:
- `wasm-port/tests/wasm/node/verify_interp_wasm.mjs`
- `wasm-port/tests/browser/interp_smoke.html`
Node 新增:
- `g10RegressionFiles` 固定 5 个当前 upstream `.ngc`
- Node smoke 要求该 manifest 与
`interpRegressionNgcFilesRecursive("g10")` 完全一致。
Browser 新增:
- `g10RegressionFiles` 固定 `length=5` 且 duplicate-free
- browser representative 不枚举目录,但会防止 g10 manifest 被静默删减或重复。
3. 下一步工作建议。
先复跑:
```bash
git diff --check
wasm-port/tests/wasm/node/verify_interp_wasm.sh
wasm-port/tests/browser/verify_interp_browser.sh
wasm-port/tests/host/verify_host_smokes.sh
```
如果通过,做一个小提交,建议 message
```text
Guard g10 interpreter fixture coverage
```
提交后再复跑同一组 gate。

View File

@@ -7974,6 +7974,17 @@
].join("\n"),
);
const g10RegressionFiles = [
"g10-l1-l10/test.ngc",
"g10-l11/test.ngc",
"g10-l2-while-active/test.ngc",
"g10-l20-while-active/test.ngc",
"g10-with-g92/test.ngc",
];
if (g10RegressionFiles.length !== 5 || new Set(g10RegressionFiles).size !== g10RegressionFiles.length) {
throw new Error("browser_interp_g10_fixture_coverage: list drift");
}
const g10L1L10Dir = await writeG10RegressionFiles(interp, "g10-l1-l10", [
"test.ngc",
"test.tbl",

View File

@@ -2830,6 +2830,19 @@ verifyExpectedOutput(
].join("\n"),
);
const g10RegressionFiles = [
"g10-l1-l10/test.ngc",
"g10-l11/test.ngc",
"g10-l2-while-active/test.ngc",
"g10-l20-while-active/test.ngc",
"g10-with-g92/test.ngc",
];
assert.deepEqual(
g10RegressionFiles,
interpRegressionNgcFilesRecursive("g10"),
"interp g10 fixture coverage drift",
);
const g10L1L10Dir = writeG10RegressionFiles("g10-l1-l10", ["test.ngc", "test.tbl"]);
verifyExpectedOutput(
"interp_g10_l1_l10_wasm",