From cb21c867bddb49891c0aa7c42cabdbafe324e03a Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sun, 14 Jun 2026 08:12:51 +0800 Subject: [PATCH] Guard browser direct generated tool-table input --- text9.txt | 56 +++++++++++++++++++++++ wasm-port/tests/browser/interp_smoke.html | 11 +++-- 2 files changed, 62 insertions(+), 5 deletions(-) diff --git a/text9.txt b/text9.txt index b1e8bec..3f3aa7d 100644 --- a/text9.txt +++ b/text9.txt @@ -1203,3 +1203,59 @@ host_wasm_opfs_browser_smokes=ok 继续小批量 browser test glue guard。优先扫描 direct generated parameter fixture path/name constants 是否还能更清晰地局部命名,或者转向 tool-table generated fixture input locals;只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。 + +二十四、2026-06-14 继续执行记录:browser direct generated tool-table input locals guard + +本轮按上一条下一步建议转向 direct generated tool-table fixture input locals,范围仍只触及 +`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。 + +完成内容: + +- 新增 `browserDirectToolTableInputLines` 局部常量,承载 direct non-random generated + tool-table fixture input lines; +- `writeGeneratedToolTableFixture(...)` 调用改为复用 + `browserDirectToolTableInputLines.join("\n")`; +- 保持 `browserDirectFinishTool`、`browserDirectRoughTool` 与后续 load/save/readback + expected lines 不变; +- 未改变任何 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;browser smoke 与 + `verify_host_smokes.sh` 的 browser 阶段需授权运行; +- 本轮 browser smoke 与 host smoke 均已授权运行并通过。 + +下一步建议: + +继续小批量 browser test glue guard。优先扫描 direct generated random tool-table fixture +input lines 是否也能抽为局部常量;只改测试胶水,不改变输入、OPFS path、WASM path +字符串或保存/读取行为。 diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index a2150a8..c6b03bf 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -9352,14 +9352,15 @@ ].join("\n"), ); + const browserDirectToolTableInputLines = [ + "T2 P7 Z3.125 D1.5 I12 J34 Q4 ;browser direct finish tool", + "T5 P9 X1 Y2 Z3 ;browser direct rough tool", + "", + ]; const browserToolTablePath = writeGeneratedToolTableFixture( interp, "/work/browser-direct-tool.tbl", - [ - "T2 P7 Z3.125 D1.5 I12 J34 Q4 ;browser direct finish tool", - "T5 P9 X1 Y2 Z3 ;browser direct rough tool", - "", - ].join("\n"), + browserDirectToolTableInputLines.join("\n"), ); const browserDirectFinishTool = { toolNo: "2",