diff --git a/text8.txt b/text8.txt index 4b13f4f..a4451fe 100644 --- a/text8.txt +++ b/text8.txt @@ -1531,3 +1531,56 @@ host_wasm_opfs_browser_smokes=ok 继续小批量 browser OPFS test glue guard。优先扫描 custom session 中 tool-table value groups 是否还能和 load/save/readback helper 对齐为 locals;只改测试胶水, 不改变 tool-table 输入、custom filename 输入、OPFS path、WASM path 字符串或保存/读取行为。 + +三十三、2026-06-14 继续执行记录:browser OPFS custom session tool-table value locals guard + +本轮按上一条下一步建议继续收敛 custom session 中 tool-table value groups,范围仍只 +触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。 + +完成内容: + +- 为 INI-named session 增加 `iniNamedToolTableValues`、 + `iniNamedToolTableLoadValues`、`iniNamedToolTableReadbackValues` 局部常量; +- INI-named session 的 tool-table seed text、load result expected lines、save + result expected lines、saved tool-table readback expected lines 均复用这些局部常量; +- 为 explicit override session 增加 `explicitToolTableValues`、 + `explicitToolTableLoadValues`、`explicitToolTableReadbackValues` 局部常量; +- explicit override session 的 tool-table seed text、load result expected lines、 + save result expected lines、saved tool-table readback expected lines 均复用这些局部常量; +- seed、load、readback 的 tool-table value 字符串仍分开显式声明,未新增格式转换逻辑; +- 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 中 filename groups +是否还能和 path/load/staging helper 对齐为 locals;只改测试胶水,不改变 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 650574e..6bcab98 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -9566,10 +9566,13 @@ iniFileParameterFilename, opfsParameterSeedText(...iniNamedInitialParameterValues), ); + const iniNamedToolTableValues = ["8", "8", "4.5", "0.5", ";browser custom tool"]; + const iniNamedToolTableLoadValues = ["8", "8", "4.5", "0.5", "browser custom tool"]; + const iniNamedToolTableReadbackValues = ["8", "8", "+4.500000", "+0.500000", ";browser custom tool"]; await writeOpfsMachineFile( iniFileMachineId, iniFileToolTableFilename, - opfsToolTableSeedText("8", "8", "4.5", "0.5", ";browser custom tool"), + opfsToolTableSeedText(...iniNamedToolTableValues), ); const loadedIniFileSession = await loadMachineSessionFromOpfs( interp, @@ -9633,10 +9636,10 @@ verifyOpfsLoadResult( "opfs_load_ini_named_tool_table", loadedIniFileSession.toolTable, - opfsToolTableResultLines("load", "8", "8", [ - "tool_1.z=4.5", - "tool_1.diameter=0.5", - "tool_1.comment=browser custom tool", + opfsToolTableResultLines("load", iniNamedToolTableLoadValues[0], iniNamedToolTableLoadValues[1], [ + `tool_1.z=${iniNamedToolTableLoadValues[2]}`, + `tool_1.diameter=${iniNamedToolTableLoadValues[3]}`, + `tool_1.comment=${iniNamedToolTableLoadValues[4]}`, ]), ); const savedIniNamedToolTable = await saveMachineToolTableToOpfs( @@ -9654,12 +9657,12 @@ verifyOpfsSaveResult( "opfs_save_ini_named_tool_table", savedIniNamedToolTable, - opfsToolTableResultLines("save", "8", "8"), + opfsToolTableResultLines("save", iniNamedToolTableValues[0], iniNamedToolTableValues[1]), ); await verifyOpfsReadback( "opfs_saved_ini_named_tool_table_text", loadedIniFileSession.toolTable.opfsPath, - opfsToolTableTextLines("8", "8", "+4.500000", "+0.500000", ";browser custom tool"), + opfsToolTableTextLines(...iniNamedToolTableReadbackValues), ); const iniOverrideMachineId = "browser-ini-override-session"; @@ -9686,10 +9689,13 @@ explicitParameterFilename, opfsParameterSeedText(...explicitInitialParameterValues), ); + const explicitToolTableValues = ["9", "9", "5.5", "0.625", ";browser explicit tool"]; + const explicitToolTableLoadValues = ["9", "9", "5.5", "0.625", "browser explicit tool"]; + const explicitToolTableReadbackValues = ["9", "9", "+5.500000", "+0.625000", ";browser explicit tool"]; await writeOpfsMachineFile( iniOverrideMachineId, explicitToolTableFilename, - opfsToolTableSeedText("9", "9", "5.5", "0.625", ";browser explicit tool"), + opfsToolTableSeedText(...explicitToolTableValues), ); const loadedIniOverrideSession = await loadMachineSessionFromOpfs( interp, @@ -9726,10 +9732,10 @@ verifyOpfsLoadResult( "opfs_load_explicit_tool_table", loadedIniOverrideSession.toolTable, - opfsToolTableResultLines("load", "9", "9", [ - "tool_1.z=5.5", - "tool_1.diameter=0.625", - "tool_1.comment=browser explicit tool", + opfsToolTableResultLines("load", explicitToolTableLoadValues[0], explicitToolTableLoadValues[1], [ + `tool_1.z=${explicitToolTableLoadValues[2]}`, + `tool_1.diameter=${explicitToolTableLoadValues[3]}`, + `tool_1.comment=${explicitToolTableLoadValues[4]}`, ]), ); const explicitParameterValues = [51.25, 102.5, 7.5, 202]; @@ -9778,12 +9784,12 @@ verifyOpfsSaveResult( "opfs_save_explicit_tool_table", savedExplicitToolTable, - opfsToolTableResultLines("save", "9", "9"), + opfsToolTableResultLines("save", explicitToolTableValues[0], explicitToolTableValues[1]), ); await verifyOpfsReadback( "opfs_saved_explicit_tool_table_text", loadedIniOverrideSession.toolTable.opfsPath, - opfsToolTableTextLines("9", "9", "+5.500000", "+0.625000", ";browser explicit tool"), + opfsToolTableTextLines(...explicitToolTableReadbackValues), ); await verifyOpfsInvalidIniSessionRejects(