From d2affc02354a4e59c4385c87a08782a0996e8b88 Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sun, 14 Jun 2026 02:04:54 +0800 Subject: [PATCH] Guard browser OPFS custom session tool seed --- text8.txt | 53 +++++++++++++++++++++++ wasm-port/tests/browser/interp_smoke.html | 8 +++- 2 files changed, 59 insertions(+), 2 deletions(-) diff --git a/text8.txt b/text8.txt index 34f052e..817258c 100644 --- a/text8.txt +++ b/text8.txt @@ -1165,3 +1165,56 @@ host_wasm_opfs_browser_smokes=ok 继续小批量 browser OPFS test glue guard。优先扫描 custom session fixture input text 写入处的 tool-table seed text 是否还能用只读 helper 收敛;只改测试胶水,保持精确 文本校验,不改变 custom filename 输入、OPFS path、WASM path 字符串或保存/读取行为。 + +二十六、2026-06-14 继续执行记录:browser OPFS custom session tool seed helper guard + +本轮按上一条下一步建议继续收敛 custom session fixture input text 写入处的 +tool-table seed text,范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 +browser/OPFS test glue。 + +完成内容: + +- 新增 `opfsToolTableSeedText(...)`,统一 custom session tool-table seed text 中 + tool、pocket、Z offset、diameter、comment 的写入文本; +- INI-named session 的 custom tool-table seed 写入复用 + `opfsToolTableSeedText(...)`; +- explicit session 的 custom tool-table seed 写入复用 + `opfsToolTableSeedText(...)`; +- seed text 仍保留单行 LinuxCNC tool-table 输入格式和末尾换行,实际写入内容不变; +- custom parameter/tool-table filename 输入、OPFS path、WASM path 字符串与 + save/read 行为均未改变; +- 未改变 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 +``` + +下一步建议: + +继续小批量 browser OPFS test glue guard。优先扫描 custom session INI seed text 是否 +还能用只读 helper 收敛,例如 MACHINE、PARAMETER_FILE、TOOL_TABLE 的 INI lines; +只改测试胶水,保持精确文本校验,不改变 custom filename 输入、OPFS path、WASM path +字符串或保存/读取行为。 diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index 74e6ee9..2a6266a 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -4596,6 +4596,10 @@ ]; } + function opfsToolTableSeedText(toolNo, pocketNo, zOffset, diameter, comment) { + return `T${toolNo} P${pocketNo} Z${zOffset} D${diameter} ${comment}\n`; + } + async function verifyOpfsSavedText(label, loadActualText, expectedLines) { verifyExpectedOutput(label, await loadActualText(), expectedLines.join("\n")); } @@ -9523,7 +9527,7 @@ await writeOpfsMachineFile( iniFileMachineId, iniFileToolTableFilename, - "T8 P8 Z4.5 D0.5 ;browser custom tool\n", + opfsToolTableSeedText("8", "8", "4.5", "0.5", ";browser custom tool"), ); const loadedIniFileSession = await loadMachineSessionFromOpfs( interp, @@ -9657,7 +9661,7 @@ await writeOpfsMachineFile( iniOverrideMachineId, explicitToolTableFilename, - "T9 P9 Z5.5 D0.625 ;browser explicit tool\n", + opfsToolTableSeedText("9", "9", "5.5", "0.625", ";browser explicit tool"), ); const loadedIniOverrideSession = await loadMachineSessionFromOpfs( interp,