Guard browser OPFS custom session tool text

This commit is contained in:
2026-06-14 01:58:12 +08:00
parent 8866fd1fdf
commit dcc9a2b111
2 changed files with 65 additions and 14 deletions

View File

@@ -1061,3 +1061,56 @@ host_wasm_opfs_browser_smokes=ok
继续小批量 browser OPFS test glue guard。优先扫描 custom session tool-table saved 继续小批量 browser OPFS test glue guard。优先扫描 custom session tool-table saved
text expected lines 是否还能用只读 expected-lines helper 收敛;只改测试胶水,保持 text expected lines 是否还能用只读 expected-lines helper 收敛;只改测试胶水,保持
精确文本校验,不改变 custom filename 输入、OPFS path、WASM path 字符串或保存/读取行为。 精确文本校验,不改变 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 字符串或保存/读取行为。

View File

@@ -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) { async function verifyOpfsSavedText(label, loadActualText, expectedLines) {
verifyExpectedOutput(label, await loadActualText(), expectedLines.join("\n")); verifyExpectedOutput(label, await loadActualText(), expectedLines.join("\n"));
} }
@@ -9608,13 +9618,7 @@
await verifyOpfsReadback( await verifyOpfsReadback(
"opfs_saved_ini_named_tool_table_text", "opfs_saved_ini_named_tool_table_text",
loadedIniFileSession.toolTable.opfsPath, loadedIniFileSession.toolTable.opfsPath,
[ opfsToolTableTextLines("8", "8", "+4.500000", "+0.500000", ";browser custom tool"),
"T8",
"P8",
"Z+4.500000",
"D+0.500000",
";browser custom tool",
],
); );
const iniOverrideMachineId = "browser-ini-override-session"; const iniOverrideMachineId = "browser-ini-override-session";
@@ -9757,13 +9761,7 @@
await verifyOpfsReadback( await verifyOpfsReadback(
"opfs_saved_explicit_tool_table_text", "opfs_saved_explicit_tool_table_text",
loadedIniOverrideSession.toolTable.opfsPath, loadedIniOverrideSession.toolTable.opfsPath,
[ opfsToolTableTextLines("9", "9", "+5.500000", "+0.625000", ";browser explicit tool"),
"T9",
"P9",
"Z+5.500000",
"D+0.625000",
";browser explicit tool",
],
); );
await verifyOpfsInvalidIniSessionRejects( await verifyOpfsInvalidIniSessionRejects(