From 30646b08c430b1e66c54e30c3196e0ca7ca09d85 Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sun, 14 Jun 2026 08:26:39 +0800 Subject: [PATCH] Guard browser OPFS tool-table seed text --- text9.txt | 56 +++++++++++++++++++++++ wasm-port/tests/browser/interp_smoke.html | 3 +- 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/text9.txt b/text9.txt index 1f9e18e..2990506 100644 --- a/text9.txt +++ b/text9.txt @@ -1316,3 +1316,59 @@ host_wasm_opfs_browser_smokes=ok 继续小批量 browser test glue guard。优先扫描 browser OPFS session tool-table seed text 是否还能抽为局部 constants,或者转向 direct generated tool-table path constants; 只改测试胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。 + +二十六、2026-06-14 继续执行记录:browser OPFS session tool-table seed text local guard + +本轮按上一条下一步建议继续收敛 browser OPFS session tool-table seed text,范围仍只触及 +`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。 + +完成内容: + +- 新增 `browserInterpToolTableInputText` 局部常量,承载 ordinary + `browser-interp` session 的 tool-table seed text; +- `saveMachineTextFiles(...)` 中 ordinary session 的 `toolTable` 字段改为复用 + `browserInterpToolTableInputText`; +- 保持 `browserInterpToolTable` object、load/save/readback expected lines、 + OPFS path 与 WASM path 不变; +- 未改变任何 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。优先扫描 random OPFS session tool-table seed +text 是否也能抽为局部 constants;只改测试胶水,不改变输入、OPFS path、WASM path +字符串或保存/读取行为。 diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index f05f3a5..4948bc4 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -9479,9 +9479,10 @@ const browserInterpMachineId = "browser-interp"; const browserInterpWasmPaths = opfsBrowserSessionWasmPaths("browser"); const browserInterpInitialParameterValues = opfsParameterValueSet("10.5", "20.25", "2.25", "44"); + const browserInterpToolTableInputText = "T2 P7 Z3.125 D1.5 I12 J34 Q4 ;browser finish tool\n"; const browserInterpTextPaths = await saveMachineTextFiles(browserInterpMachineId, { ini: `[EMC]\nMACHINE = ${browserInterpMachineId}\n`, - toolTable: "T2 P7 Z3.125 D1.5 I12 J34 Q4 ;browser finish tool\n", + toolTable: browserInterpToolTableInputText, parameters: browserDirectParameterSeedLines(true).join("\n"), }); assertMachineTextStorePaths(