Guard g52 staging path
This commit is contained in:
84
text5.txt
84
text5.txt
@@ -7663,3 +7663,87 @@ Guard final g10 staging paths
|
|||||||
建议继续选择已有 Node/browser coverage、且不依赖 blocked runtime 的 small
|
建议继续选择已有 Node/browser coverage、且不依赖 blocked runtime 的 small
|
||||||
fixture family;优先检查 direct-file 或 staging helper 已成型的 case,仍只做
|
fixture family;优先检查 direct-file 或 staging helper 已成型的 case,仍只做
|
||||||
host/filesystem staging guard,不新增 CNC 语义。
|
host/filesystem staging guard,不新增 CNC 语义。
|
||||||
|
|
||||||
|
八十一、2026-06-13 继续执行记录:g52/g92 staging path guard
|
||||||
|
|
||||||
|
本轮继续选择已有 Node/browser coverage、且不依赖 blocked runtime 的 small
|
||||||
|
fixture family。当前 host 仍按 blocked runtime 规则处理,不执行任何
|
||||||
|
`ENABLE_*_RUNTIME_PROBE=1` opt-in native probe。
|
||||||
|
|
||||||
|
1. 候选选择。
|
||||||
|
|
||||||
|
选择 `tests/interp/g52` 当前唯一 vendored `.ngc`:
|
||||||
|
|
||||||
|
- `g52/g52-g92-interaction/g52-g92-interaction.ngc`
|
||||||
|
|
||||||
|
该 case 已在 Node/browser 单独执行,不需要 INI/HAL/task/tool DB/Python
|
||||||
|
remap/user-M process runtime。本轮只固定 fixed manifest 与 staged path 一致性,
|
||||||
|
不新增 CNC 语义。
|
||||||
|
|
||||||
|
2. 覆盖对账。
|
||||||
|
|
||||||
|
`tests/interp/g52` 当前 upstream `.ngc` manifest:
|
||||||
|
|
||||||
|
```text
|
||||||
|
g52-g92-interaction/g52-g92-interaction.ngc
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 更新。
|
||||||
|
|
||||||
|
更新:
|
||||||
|
|
||||||
|
- `wasm-port/tests/wasm/node/verify_interp_wasm.mjs`
|
||||||
|
- `wasm-port/tests/browser/interp_smoke.html`
|
||||||
|
|
||||||
|
Node 新增:
|
||||||
|
|
||||||
|
- 新增 `g52RegressionFiles` fixed list;
|
||||||
|
- 与 `interpRegressionNgcFilesRecursive("g52")` 精确对账;
|
||||||
|
- 检查 `writeInterpRegressionFile(...)` 返回的 staged path 与
|
||||||
|
`/work/interp/g52/...` fixed manifest path 一致。
|
||||||
|
|
||||||
|
Browser 新增:
|
||||||
|
|
||||||
|
- 新增 fixed-count 和 duplicate-free guard;
|
||||||
|
- 检查 browser staged `.ngc` path 去掉 `/work/browser-interp/g52/` 前缀后,
|
||||||
|
与 fixed manifest 一致;
|
||||||
|
- browser 仍不枚举目录。
|
||||||
|
|
||||||
|
4. 已执行验证。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git diff --check
|
||||||
|
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_interp_wasm.sh
|
||||||
|
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||||||
|
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||||||
|
wasm-port/tests/host/verify_host_smokes.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
结果:
|
||||||
|
|
||||||
|
- `git diff --check` clean。
|
||||||
|
- `vendor sync up to date`
|
||||||
|
- `standalone CNC semantics guard complete`
|
||||||
|
- `interp_wasm_node_smoke=ok`
|
||||||
|
- Node inventory 保持:
|
||||||
|
- `executed=28`
|
||||||
|
- `passed=28`
|
||||||
|
- `skipped=131`
|
||||||
|
- `unexpected_fail=0`
|
||||||
|
- `browser_interp_smoke=ok`
|
||||||
|
- `host_wasm_opfs_browser_smokes=ok`
|
||||||
|
|
||||||
|
5. 下一步工作建议。
|
||||||
|
|
||||||
|
当前测试工作集已稳定。建议先做小提交,message:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Guard g52 staging path
|
||||||
|
```
|
||||||
|
|
||||||
|
提交后继续选择已有 Node/browser coverage、且不依赖 blocked runtime 的 direct-file
|
||||||
|
fixture。下一步可优先检查早期单文件 cases,例如 `do-while-break`、`exists`、
|
||||||
|
`return-value` 或 `subs-follow-main`,按 2 到 3 个 case 一批补 fixed manifest 与
|
||||||
|
staged path guard。
|
||||||
|
|||||||
@@ -8295,6 +8295,18 @@
|
|||||||
"g52/g52-g92-interaction",
|
"g52/g52-g92-interaction",
|
||||||
"g52-g92-interaction.ngc",
|
"g52-g92-interaction.ngc",
|
||||||
);
|
);
|
||||||
|
const g52RegressionFiles = [
|
||||||
|
"g52-g92-interaction/g52-g92-interaction.ngc",
|
||||||
|
];
|
||||||
|
if (g52RegressionFiles.length !== 1 || new Set(g52RegressionFiles).size !== g52RegressionFiles.length) {
|
||||||
|
throw new Error("browser_interp_g52_fixture_coverage: list drift");
|
||||||
|
}
|
||||||
|
const g52StagedNgcFiles = [
|
||||||
|
g52G92InteractionPath,
|
||||||
|
].map((path) => path.replace("/work/browser-interp/g52/", ""));
|
||||||
|
if (g52StagedNgcFiles.join(",") !== g52RegressionFiles.join(",")) {
|
||||||
|
throw new Error("browser_interp_g52_staging_manifest: list drift");
|
||||||
|
}
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_g52_g92_interaction",
|
"browser_interp_g52_g92_interaction",
|
||||||
interp.runFile(g52G92InteractionPath),
|
interp.runFile(g52G92InteractionPath),
|
||||||
|
|||||||
@@ -3184,6 +3184,21 @@ const g52G92InteractionPath = writeInterpRegressionFile(
|
|||||||
"g52/g52-g92-interaction",
|
"g52/g52-g92-interaction",
|
||||||
"g52-g92-interaction.ngc",
|
"g52-g92-interaction.ngc",
|
||||||
);
|
);
|
||||||
|
const g52RegressionFiles = [
|
||||||
|
"g52-g92-interaction/g52-g92-interaction.ngc",
|
||||||
|
];
|
||||||
|
assert.deepEqual(
|
||||||
|
g52RegressionFiles,
|
||||||
|
interpRegressionNgcFilesRecursive("g52"),
|
||||||
|
"interp g52 fixture coverage drift",
|
||||||
|
);
|
||||||
|
assert.deepEqual(
|
||||||
|
[
|
||||||
|
g52G92InteractionPath,
|
||||||
|
],
|
||||||
|
g52RegressionFiles.map((file) => `/work/interp/g52/${file}`),
|
||||||
|
"interp g52 staging manifest drift",
|
||||||
|
);
|
||||||
const g52G92InteractionRun = runWithCapturedPrints(() =>
|
const g52G92InteractionRun = runWithCapturedPrints(() =>
|
||||||
interp.runFile(g52G92InteractionPath),
|
interp.runFile(g52G92InteractionPath),
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user