Guard browser OPFS custom session result lines
This commit is contained in:
55
text8.txt
55
text8.txt
@@ -953,3 +953,58 @@ host_wasm_opfs_browser_smokes=ok
|
||||
custom session load/save blocks 的 expected output arrays 是否还有重复的
|
||||
parameter/tool-table key lines 可安全抽成局部常量或小 helper;只改测试胶水,保持
|
||||
精确文本校验,不改变 custom filename 输入、OPFS path、WASM path 字符串或保存/读取行为。
|
||||
|
||||
二十二、2026-06-14 继续执行记录:browser OPFS custom session result lines helper guard
|
||||
|
||||
本轮按上一条下一步建议继续收敛 custom session load/save blocks 的 expected output
|
||||
arrays,范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test
|
||||
glue。
|
||||
|
||||
完成内容:
|
||||
|
||||
- 新增 `opfsParameterResultLines(...)`,统一 custom session parameter
|
||||
restore/save result 中 5161、5162、5221、5399 的 expected lines;
|
||||
- 新增 `opfsToolTableResultLines(...)`,统一 custom session tool-table
|
||||
load/save result 中 toolno/pocketno 以及可选附加字段的 expected lines;
|
||||
- INI-named session 与 explicit session 的 parameter load/save 校验改为复用
|
||||
`opfsParameterResultLines(...)`;
|
||||
- INI-named session 与 explicit session 的 tool-table load/save 校验改为复用
|
||||
`opfsToolTableResultLines(...)`;
|
||||
- 所有 load/save result 仍通过 `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 saved parameter
|
||||
readback 与 backup readback expected text 是否还能用只读 expected-lines helper 收敛;
|
||||
只改测试胶水,保持精确文本校验,不改变 custom filename 输入、OPFS path、WASM path
|
||||
字符串或保存/读取行为。
|
||||
|
||||
@@ -4547,6 +4547,25 @@
|
||||
verifyExpectedOutput(label, loadResult.result, expectedLines.join("\n"));
|
||||
}
|
||||
|
||||
function opfsParameterResultLines(operation, parameter5161, parameter5162, parameter5221, parameter5399) {
|
||||
return [
|
||||
`${operation}_parameters=0`,
|
||||
`parameter_5161=${parameter5161}`,
|
||||
`parameter_5162=${parameter5162}`,
|
||||
`parameter_5221=${parameter5221}`,
|
||||
`parameter_5399=${parameter5399}`,
|
||||
];
|
||||
}
|
||||
|
||||
function opfsToolTableResultLines(operation, toolNo, pocketNo, extraLines = []) {
|
||||
return [
|
||||
`tooldata_${operation}=0`,
|
||||
`tool_1.toolno=${toolNo}`,
|
||||
`tool_1.pocketno=${pocketNo}`,
|
||||
...extraLines,
|
||||
];
|
||||
}
|
||||
|
||||
async function verifyOpfsSavedText(label, loadActualText, expectedLines) {
|
||||
verifyExpectedOutput(label, await loadActualText(), expectedLines.join("\n"));
|
||||
}
|
||||
@@ -9509,13 +9528,7 @@
|
||||
verifyOpfsLoadResult(
|
||||
"opfs_load_ini_named_parameter_file",
|
||||
loadedIniFileSession.parameters,
|
||||
[
|
||||
"restore_parameters=0",
|
||||
"parameter_5161=31.25",
|
||||
"parameter_5162=62.5",
|
||||
"parameter_5221=4.5",
|
||||
"parameter_5399=99",
|
||||
],
|
||||
opfsParameterResultLines("restore", "31.25", "62.5", "4.5", "99"),
|
||||
);
|
||||
const savedIniNamedParameters = await saveMachineParametersToOpfs(
|
||||
interp,
|
||||
@@ -9542,13 +9555,7 @@
|
||||
verifyOpfsSaveResult(
|
||||
"opfs_save_ini_named_parameter_file",
|
||||
savedIniNamedParameters,
|
||||
[
|
||||
"save_parameters=0",
|
||||
"parameter_5161=33.75",
|
||||
"parameter_5162=67.5",
|
||||
"parameter_5221=5.25",
|
||||
"parameter_5399=199",
|
||||
],
|
||||
opfsParameterResultLines("save", "33.75", "67.5", "5.25", "199"),
|
||||
);
|
||||
await verifyOpfsReadback(
|
||||
"opfs_saved_ini_named_parameter_text",
|
||||
@@ -9573,14 +9580,11 @@
|
||||
verifyOpfsLoadResult(
|
||||
"opfs_load_ini_named_tool_table",
|
||||
loadedIniFileSession.toolTable,
|
||||
[
|
||||
"tooldata_load=0",
|
||||
"tool_1.toolno=8",
|
||||
"tool_1.pocketno=8",
|
||||
opfsToolTableResultLines("load", "8", "8", [
|
||||
"tool_1.z=4.5",
|
||||
"tool_1.diameter=0.5",
|
||||
"tool_1.comment=browser custom tool",
|
||||
],
|
||||
]),
|
||||
);
|
||||
const savedIniNamedToolTable = await saveMachineToolTableToOpfs(
|
||||
interp,
|
||||
@@ -9600,11 +9604,7 @@
|
||||
verifyOpfsSaveResult(
|
||||
"opfs_save_ini_named_tool_table",
|
||||
savedIniNamedToolTable,
|
||||
[
|
||||
"tooldata_save=0",
|
||||
"tool_1.toolno=8",
|
||||
"tool_1.pocketno=8",
|
||||
],
|
||||
opfsToolTableResultLines("save", "8", "8"),
|
||||
);
|
||||
await verifyOpfsReadback(
|
||||
"opfs_saved_ini_named_tool_table_text",
|
||||
@@ -9687,25 +9687,16 @@
|
||||
verifyOpfsLoadResult(
|
||||
"opfs_load_explicit_parameter_file",
|
||||
loadedIniOverrideSession.parameters,
|
||||
[
|
||||
"restore_parameters=0",
|
||||
"parameter_5161=41.25",
|
||||
"parameter_5162=82.5",
|
||||
"parameter_5221=6.5",
|
||||
"parameter_5399=101",
|
||||
],
|
||||
opfsParameterResultLines("restore", "41.25", "82.5", "6.5", "101"),
|
||||
);
|
||||
verifyOpfsLoadResult(
|
||||
"opfs_load_explicit_tool_table",
|
||||
loadedIniOverrideSession.toolTable,
|
||||
[
|
||||
"tooldata_load=0",
|
||||
"tool_1.toolno=9",
|
||||
"tool_1.pocketno=9",
|
||||
opfsToolTableResultLines("load", "9", "9", [
|
||||
"tool_1.z=5.5",
|
||||
"tool_1.diameter=0.625",
|
||||
"tool_1.comment=browser explicit tool",
|
||||
],
|
||||
]),
|
||||
);
|
||||
const savedExplicitParameters = await saveMachineParametersToOpfs(
|
||||
interp,
|
||||
@@ -9732,13 +9723,7 @@
|
||||
verifyOpfsSaveResult(
|
||||
"opfs_save_explicit_parameter_file",
|
||||
savedExplicitParameters,
|
||||
[
|
||||
"save_parameters=0",
|
||||
"parameter_5161=51.25",
|
||||
"parameter_5162=102.5",
|
||||
"parameter_5221=7.5",
|
||||
"parameter_5399=202",
|
||||
],
|
||||
opfsParameterResultLines("save", "51.25", "102.5", "7.5", "202"),
|
||||
);
|
||||
await verifyOpfsReadback(
|
||||
"opfs_saved_explicit_parameter_text",
|
||||
@@ -9778,11 +9763,7 @@
|
||||
verifyOpfsSaveResult(
|
||||
"opfs_save_explicit_tool_table",
|
||||
savedExplicitToolTable,
|
||||
[
|
||||
"tooldata_save=0",
|
||||
"tool_1.toolno=9",
|
||||
"tool_1.pocketno=9",
|
||||
],
|
||||
opfsToolTableResultLines("save", "9", "9"),
|
||||
);
|
||||
await verifyOpfsReadback(
|
||||
"opfs_saved_explicit_tool_table_text",
|
||||
|
||||
Reference in New Issue
Block a user