Guard early direct-file staging paths

This commit is contained in:
2026-06-13 07:08:01 +08:00
parent 17df47d68d
commit 675ee5fb6c
3 changed files with 277 additions and 0 deletions

192
text5.txt
View File

@@ -7747,3 +7747,195 @@ Guard g52 staging path
fixture。下一步可优先检查早期单文件 cases例如 `do-while-break`、`exists`、
`return-value` 或 `subs-follow-main`,按 2 到 3 个 case 一批补 fixed manifest 与
staged path guard。
八十二、2026-06-13 继续执行记录early direct-file staging path guard
本轮继续选择已有 Node/browser coverage、且不依赖 blocked runtime 的早期
direct-file fixture。当前 host 仍按 blocked runtime 规则处理,不执行任何
`ENABLE_*_RUNTIME_PROBE=1` opt-in native probe。
1. 候选选择。
选择 3 个已在 Node/browser 执行的 direct-file fixture family
- `tests/interp/do-while-break`
- `tests/interp/exists`
- `tests/interp/return-value`
这些 case 不需要 INI/HAL/task/tool DB/Python remap/user-M process runtime。本轮只
固定 upstream `.ngc` manifest 与 staged path 一致性,不新增 CNC 语义。
2. 覆盖对账。
当前 upstream `.ngc` manifest
```text
do-while-break/bug.ngc
do-while-break/test.ngc
exists/test.ngc
return-value/test.ngc
```
3. 更新。
更新:
- `wasm-port/tests/wasm/node/verify_interp_wasm.mjs`
- `wasm-port/tests/browser/interp_smoke.html`
Node 新增:
- `doWhileBreakNgcFiles` 固定 `bug.ngc` 和 `test.ngc`
- `existsNgcFiles` 固定 `test.ngc`
- `returnValueNgcFiles` 固定 `test.ngc`
- 分别与 `interpRegressionNgcFilesRecursive(...)` 精确对账;
- 检查 `writeInterpRegressionFile(...)` 返回的 staged path 与 fixed manifest
path 一致。
Browser 新增:
- fixed-count 和 duplicate-free guard
- 检查 browser staged `.ngc` path 去掉对应 `/work/browser-interp/.../` 前缀后,
与 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 early direct-file staging paths
```
提交后继续同类 early direct-file fixtures建议下一小批选择
```text
subs-follow-main/test.ngc
fractional-linenumbers/test.ngc
crazy-paths/test.ngc
```
仍只做 fixed manifest 与 staged path guard不扩大到 blocked runtime。
八十二、2026-06-13 继续执行记录early direct-file staging path guard
本轮继续选择已有 Node/browser coverage、且不依赖 blocked runtime 的 early
direct-file fixture。当前 host 仍按 blocked runtime 规则处理,不执行任何
`ENABLE_*_RUNTIME_PROBE=1` opt-in native probe。
1. 候选选择。
选择:
- `tests/interp/do-while-break/bug.ngc`
- `tests/interp/do-while-break/test.ngc`
- `tests/interp/exists/test.ngc`
- `tests/interp/return-value/test.ngc`
这些 case 已在 Node/browser 单独执行,不需要 INI/HAL/task/tool DB/Python
remap/user-M process runtime。本轮只固定 fixed manifest 与 staged path 一致性,
不新增 CNC 语义。
2. 覆盖对账。
当前 upstream `.ngc` manifest
```text
do-while-break/bug.ngc
do-while-break/test.ngc
exists/test.ngc
return-value/test.ngc
```
3. 更新。
更新:
- `wasm-port/tests/wasm/node/verify_interp_wasm.mjs`
- `wasm-port/tests/browser/interp_smoke.html`
Node 新增:
- `doWhileBreakNgcFiles` 固定 `bug.ngc` 和 `test.ngc`,并与
`interpRegressionNgcFilesRecursive("do-while-break")` 精确对账;
- `existsNgcFiles` 和 `returnValueNgcFiles` 分别固定 `test.ngc`,并与
upstream recursive manifest 精确对账;
- 检查对应 `writeInterpRegressionFile(...)` 返回的 staged path 与 fixed
manifest path 一致。
Browser 新增:
- 为三组 fixture 增加 fixed-count 和 duplicate-free guard
- 检查 browser staged `.ngc` path 去掉对应 `/work/browser-interp/.../`
前缀后,与 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 early direct-file staging paths
```
提交后继续 early direct-file fixture小批量选择
```text
oword-bug315/test.ngc
oword-bug315-p2/test.ngc
subs-follow-main/test.ngc
```
仍只做 fixed manifest 与 staged path guard不扩大到 blocked runtime。