diff --git a/text8.txt b/text8.txt index 6339042..04afde1 100644 --- a/text8.txt +++ b/text8.txt @@ -1061,3 +1061,56 @@ host_wasm_opfs_browser_smokes=ok 继续小批量 browser OPFS test glue guard。优先扫描 custom session tool-table saved text expected lines 是否还能用只读 expected-lines helper 收敛;只改测试胶水,保持 精确文本校验,不改变 custom filename 输入、OPFS path、WASM path 字符串或保存/读取行为。 + +二十四、2026-06-14 继续执行记录:browser OPFS custom session tool text helper guard + +本轮按上一条下一步建议继续收敛 custom session saved tool-table readback expected +text,范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test +glue。 + +完成内容: + +- 新增 `opfsToolTableTextLines(...)`,统一 custom session saved tool-table text 中 + tool、pocket、Z offset、diameter、comment 的 expected lines; +- INI-named session 的 saved tool-table readback 复用 + `opfsToolTableTextLines(...)`; +- explicit session 的 saved tool-table readback 复用 + `opfsToolTableTextLines(...)`; +- 所有 readback 仍通过 `verifyExpectedOutput(...)` 做精确文本校验; +- 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 fixture input text +写入处是否还能用只读 expected-lines/helper 收敛,例如 parameter seed text 或 +tool-table seed text;只改测试胶水,保持精确文本校验,不改变 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 a1ed2b4..347f3bc 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -4575,6 +4575,16 @@ ]; } + function opfsToolTableTextLines(toolNo, pocketNo, zOffset, diameter, comment) { + return [ + `T${toolNo}`, + `P${pocketNo}`, + `Z${zOffset}`, + `D${diameter}`, + comment, + ]; + } + async function verifyOpfsSavedText(label, loadActualText, expectedLines) { verifyExpectedOutput(label, await loadActualText(), expectedLines.join("\n")); } @@ -9608,13 +9618,7 @@ await verifyOpfsReadback( "opfs_saved_ini_named_tool_table_text", loadedIniFileSession.toolTable.opfsPath, - [ - "T8", - "P8", - "Z+4.500000", - "D+0.500000", - ";browser custom tool", - ], + opfsToolTableTextLines("8", "8", "+4.500000", "+0.500000", ";browser custom tool"), ); const iniOverrideMachineId = "browser-ini-override-session"; @@ -9757,13 +9761,7 @@ await verifyOpfsReadback( "opfs_saved_explicit_tool_table_text", loadedIniOverrideSession.toolTable.opfsPath, - [ - "T9", - "P9", - "Z+5.500000", - "D+0.625000", - ";browser explicit tool", - ], + opfsToolTableTextLines("9", "9", "+5.500000", "+0.625000", ";browser explicit tool"), ); await verifyOpfsInvalidIniSessionRejects(