From 8866fd1fdf284212a09fac52483e0bbbddc6de6e Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sun, 14 Jun 2026 01:55:01 +0800 Subject: [PATCH] Guard browser OPFS custom session parameter text --- text8.txt | 53 +++++++++++++++++++++++ wasm-port/tests/browser/interp_smoke.html | 37 ++++++---------- 2 files changed, 66 insertions(+), 24 deletions(-) diff --git a/text8.txt b/text8.txt index 3bf8aec..6339042 100644 --- a/text8.txt +++ b/text8.txt @@ -1008,3 +1008,56 @@ host_wasm_opfs_browser_smokes=ok readback 与 backup readback expected text 是否还能用只读 expected-lines helper 收敛; 只改测试胶水,保持精确文本校验,不改变 custom filename 输入、OPFS path、WASM path 字符串或保存/读取行为。 + +二十三、2026-06-14 继续执行记录:browser OPFS custom session parameter text helper guard + +本轮按上一条下一步建议继续收敛 custom session saved parameter readback 与 backup +readback expected text,范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 +browser/OPFS test glue。 + +完成内容: + +- 新增 `opfsParameterTextLines(...)`,统一 custom session saved parameter text 中 + 5161、5162、5221、5399 的 expected lines; +- INI-named session 的 saved parameter readback 与 backup readback 均复用 + `opfsParameterTextLines(...)`; +- explicit session 的 saved parameter readback 与 backup readback 均复用 + `opfsParameterTextLines(...)`; +- tab 分隔的 saved parameter text 与 space 分隔的 backup text 仍在调用处显式区分; +- 所有 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 tool-table saved +text expected lines 是否还能用只读 expected-lines helper 收敛;只改测试胶水,保持 +精确文本校验,不改变 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 9c3c57f..a1ed2b4 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -4557,6 +4557,15 @@ ]; } + function opfsParameterTextLines(separator, parameter5161, parameter5162, parameter5221, parameter5399) { + return [ + `5161${separator}${parameter5161}`, + `5162${separator}${parameter5162}`, + `5221${separator}${parameter5221}`, + `5399${separator}${parameter5399}`, + ]; + } + function opfsToolTableResultLines(operation, toolNo, pocketNo, extraLines = []) { return [ `tooldata_${operation}=0`, @@ -9560,22 +9569,12 @@ await verifyOpfsReadback( "opfs_saved_ini_named_parameter_text", loadedIniFileSession.parameters.opfsPath, - [ - "5161\t33.750000", - "5162\t67.500000", - "5221\t5.250000", - "5399\t199.000000", - ], + opfsParameterTextLines("\t", "33.750000", "67.500000", "5.250000", "199.000000"), ); await verifyOpfsReadback( "opfs_saved_ini_named_parameter_backup_text", savedIniNamedParameters.backupOpfsPath, - [ - "5161 31.25", - "5162 62.5", - "5221 4.5", - "5399 99", - ], + opfsParameterTextLines(" ", "31.25", "62.5", "4.5", "99"), ); verifyOpfsLoadResult( "opfs_load_ini_named_tool_table", @@ -9728,22 +9727,12 @@ await verifyOpfsReadback( "opfs_saved_explicit_parameter_text", loadedIniOverrideSession.parameters.opfsPath, - [ - "5161\t51.250000", - "5162\t102.500000", - "5221\t7.500000", - "5399\t202.000000", - ], + opfsParameterTextLines("\t", "51.250000", "102.500000", "7.500000", "202.000000"), ); await verifyOpfsReadback( "opfs_saved_explicit_parameter_backup_text", savedExplicitParameters.backupOpfsPath, - [ - "5161 41.25", - "5162 82.5", - "5221 6.5", - "5399 101", - ], + opfsParameterTextLines(" ", "41.25", "82.5", "6.5", "101"), ); const savedExplicitToolTable = await saveMachineToolTableToOpfs( interp,