Guard browser direct parameter object adapters

This commit is contained in:
2026-06-14 07:32:22 +08:00
parent 6ac7cc8953
commit c7e7f075f3
2 changed files with 113 additions and 9 deletions

View File

@@ -842,3 +842,64 @@ host_wasm_opfs_browser_smokes=ok
是否还能合并命名或减少重复 adapter如果收益不明显转向 parameter result/text 的
object adapter 收敛只改测试胶水不改变输入、OPFS path、WASM path 字符串或
保存/读取行为。
十八、2026-06-14 继续执行记录browser direct parameter object adapter guard
本轮按上一条下一步建议继续收敛 direct `browser-interp` parameter result/text helper
调用点的参数展开,范围仍只触及
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
完成内容:
- 新增 `opfsParameterResultLinesForValues(...)`,从显式 parameter value set 转发到
`opfsParameterResultLines(...)`
- 新增 `opfsParameterTextLinesForValues(...)`,从显式 parameter value set 转发到
`opfsParameterTextLines(...)`
- 新增 `opfsParameterValueSet(...)` 与 `opfsParameterValuesForValueSet(...)`
让 direct `browser-interp` parameter load/save/readback 只通过 object locals
传递;
- direct `browser-interp` 的 initial restore、save、readback text 和 backup text
调用点改为复用 parameter object adapter
- adapter 只转发已显式保存的 object 字段,不推导 LinuxCNC-owned parameter 格式;
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load
行为;
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
验证已通过:
```bash
git diff --check
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_interp_wasm.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
wasm-port/tests/host/verify_host_smokes.sh
```
关键输出:
```text
browser_interp_smoke=ok
vendor sync up to date
standalone CNC semantics guard complete
interp_wasm_node_smoke=ok
sim_configs_wasm_node_inventory_executed=28
sim_configs_wasm_node_inventory_passed=28
sim_configs_wasm_node_inventory_skipped=131
sim_configs_wasm_node_inventory_unexpected_fail=0
host_wasm_opfs_browser_smokes=ok
```
备注:
- 当前 sandbox 会拦截本地 HTTP server socket bind`verify_host_smokes.sh` 首次在
browser smoke 阶段因 `PermissionError: [Errno 1] Operation not permitted` 失败;
- 已按规则授权重跑 `wasm-port/tests/host/verify_host_smokes.sh`,重跑通过。
下一步建议:
继续小批量 browser test glue guard。优先扫描 parameter 的 direct helper 是否还能
合并命名,或者转向更少层级的 `parameter result/text` adapter只改测试胶水不改变
输入、OPFS path、WASM path 字符串或保存/读取行为。