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 是否还有重复的
|
custom session load/save blocks 的 expected output arrays 是否还有重复的
|
||||||
parameter/tool-table key lines 可安全抽成局部常量或小 helper;只改测试胶水,保持
|
parameter/tool-table key lines 可安全抽成局部常量或小 helper;只改测试胶水,保持
|
||||||
精确文本校验,不改变 custom filename 输入、OPFS path、WASM path 字符串或保存/读取行为。
|
精确文本校验,不改变 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"));
|
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) {
|
async function verifyOpfsSavedText(label, loadActualText, expectedLines) {
|
||||||
verifyExpectedOutput(label, await loadActualText(), expectedLines.join("\n"));
|
verifyExpectedOutput(label, await loadActualText(), expectedLines.join("\n"));
|
||||||
}
|
}
|
||||||
@@ -9509,13 +9528,7 @@
|
|||||||
verifyOpfsLoadResult(
|
verifyOpfsLoadResult(
|
||||||
"opfs_load_ini_named_parameter_file",
|
"opfs_load_ini_named_parameter_file",
|
||||||
loadedIniFileSession.parameters,
|
loadedIniFileSession.parameters,
|
||||||
[
|
opfsParameterResultLines("restore", "31.25", "62.5", "4.5", "99"),
|
||||||
"restore_parameters=0",
|
|
||||||
"parameter_5161=31.25",
|
|
||||||
"parameter_5162=62.5",
|
|
||||||
"parameter_5221=4.5",
|
|
||||||
"parameter_5399=99",
|
|
||||||
],
|
|
||||||
);
|
);
|
||||||
const savedIniNamedParameters = await saveMachineParametersToOpfs(
|
const savedIniNamedParameters = await saveMachineParametersToOpfs(
|
||||||
interp,
|
interp,
|
||||||
@@ -9542,13 +9555,7 @@
|
|||||||
verifyOpfsSaveResult(
|
verifyOpfsSaveResult(
|
||||||
"opfs_save_ini_named_parameter_file",
|
"opfs_save_ini_named_parameter_file",
|
||||||
savedIniNamedParameters,
|
savedIniNamedParameters,
|
||||||
[
|
opfsParameterResultLines("save", "33.75", "67.5", "5.25", "199"),
|
||||||
"save_parameters=0",
|
|
||||||
"parameter_5161=33.75",
|
|
||||||
"parameter_5162=67.5",
|
|
||||||
"parameter_5221=5.25",
|
|
||||||
"parameter_5399=199",
|
|
||||||
],
|
|
||||||
);
|
);
|
||||||
await verifyOpfsReadback(
|
await verifyOpfsReadback(
|
||||||
"opfs_saved_ini_named_parameter_text",
|
"opfs_saved_ini_named_parameter_text",
|
||||||
@@ -9573,14 +9580,11 @@
|
|||||||
verifyOpfsLoadResult(
|
verifyOpfsLoadResult(
|
||||||
"opfs_load_ini_named_tool_table",
|
"opfs_load_ini_named_tool_table",
|
||||||
loadedIniFileSession.toolTable,
|
loadedIniFileSession.toolTable,
|
||||||
[
|
opfsToolTableResultLines("load", "8", "8", [
|
||||||
"tooldata_load=0",
|
|
||||||
"tool_1.toolno=8",
|
|
||||||
"tool_1.pocketno=8",
|
|
||||||
"tool_1.z=4.5",
|
"tool_1.z=4.5",
|
||||||
"tool_1.diameter=0.5",
|
"tool_1.diameter=0.5",
|
||||||
"tool_1.comment=browser custom tool",
|
"tool_1.comment=browser custom tool",
|
||||||
],
|
]),
|
||||||
);
|
);
|
||||||
const savedIniNamedToolTable = await saveMachineToolTableToOpfs(
|
const savedIniNamedToolTable = await saveMachineToolTableToOpfs(
|
||||||
interp,
|
interp,
|
||||||
@@ -9600,11 +9604,7 @@
|
|||||||
verifyOpfsSaveResult(
|
verifyOpfsSaveResult(
|
||||||
"opfs_save_ini_named_tool_table",
|
"opfs_save_ini_named_tool_table",
|
||||||
savedIniNamedToolTable,
|
savedIniNamedToolTable,
|
||||||
[
|
opfsToolTableResultLines("save", "8", "8"),
|
||||||
"tooldata_save=0",
|
|
||||||
"tool_1.toolno=8",
|
|
||||||
"tool_1.pocketno=8",
|
|
||||||
],
|
|
||||||
);
|
);
|
||||||
await verifyOpfsReadback(
|
await verifyOpfsReadback(
|
||||||
"opfs_saved_ini_named_tool_table_text",
|
"opfs_saved_ini_named_tool_table_text",
|
||||||
@@ -9687,25 +9687,16 @@
|
|||||||
verifyOpfsLoadResult(
|
verifyOpfsLoadResult(
|
||||||
"opfs_load_explicit_parameter_file",
|
"opfs_load_explicit_parameter_file",
|
||||||
loadedIniOverrideSession.parameters,
|
loadedIniOverrideSession.parameters,
|
||||||
[
|
opfsParameterResultLines("restore", "41.25", "82.5", "6.5", "101"),
|
||||||
"restore_parameters=0",
|
|
||||||
"parameter_5161=41.25",
|
|
||||||
"parameter_5162=82.5",
|
|
||||||
"parameter_5221=6.5",
|
|
||||||
"parameter_5399=101",
|
|
||||||
],
|
|
||||||
);
|
);
|
||||||
verifyOpfsLoadResult(
|
verifyOpfsLoadResult(
|
||||||
"opfs_load_explicit_tool_table",
|
"opfs_load_explicit_tool_table",
|
||||||
loadedIniOverrideSession.toolTable,
|
loadedIniOverrideSession.toolTable,
|
||||||
[
|
opfsToolTableResultLines("load", "9", "9", [
|
||||||
"tooldata_load=0",
|
|
||||||
"tool_1.toolno=9",
|
|
||||||
"tool_1.pocketno=9",
|
|
||||||
"tool_1.z=5.5",
|
"tool_1.z=5.5",
|
||||||
"tool_1.diameter=0.625",
|
"tool_1.diameter=0.625",
|
||||||
"tool_1.comment=browser explicit tool",
|
"tool_1.comment=browser explicit tool",
|
||||||
],
|
]),
|
||||||
);
|
);
|
||||||
const savedExplicitParameters = await saveMachineParametersToOpfs(
|
const savedExplicitParameters = await saveMachineParametersToOpfs(
|
||||||
interp,
|
interp,
|
||||||
@@ -9732,13 +9723,7 @@
|
|||||||
verifyOpfsSaveResult(
|
verifyOpfsSaveResult(
|
||||||
"opfs_save_explicit_parameter_file",
|
"opfs_save_explicit_parameter_file",
|
||||||
savedExplicitParameters,
|
savedExplicitParameters,
|
||||||
[
|
opfsParameterResultLines("save", "51.25", "102.5", "7.5", "202"),
|
||||||
"save_parameters=0",
|
|
||||||
"parameter_5161=51.25",
|
|
||||||
"parameter_5162=102.5",
|
|
||||||
"parameter_5221=7.5",
|
|
||||||
"parameter_5399=202",
|
|
||||||
],
|
|
||||||
);
|
);
|
||||||
await verifyOpfsReadback(
|
await verifyOpfsReadback(
|
||||||
"opfs_saved_explicit_parameter_text",
|
"opfs_saved_explicit_parameter_text",
|
||||||
@@ -9778,11 +9763,7 @@
|
|||||||
verifyOpfsSaveResult(
|
verifyOpfsSaveResult(
|
||||||
"opfs_save_explicit_tool_table",
|
"opfs_save_explicit_tool_table",
|
||||||
savedExplicitToolTable,
|
savedExplicitToolTable,
|
||||||
[
|
opfsToolTableResultLines("save", "9", "9"),
|
||||||
"tooldata_save=0",
|
|
||||||
"tool_1.toolno=9",
|
|
||||||
"tool_1.pocketno=9",
|
|
||||||
],
|
|
||||||
);
|
);
|
||||||
await verifyOpfsReadback(
|
await verifyOpfsReadback(
|
||||||
"opfs_saved_explicit_tool_table_text",
|
"opfs_saved_explicit_tool_table_text",
|
||||||
|
|||||||
Reference in New Issue
Block a user