From b6397b71eea653f050b63f2dbc30e149585543b0 Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sun, 14 Jun 2026 02:21:12 +0800 Subject: [PATCH] Guard browser OPFS custom session parameter values --- text8.txt | 52 +++++++++++++++++++++++ wasm-port/tests/browser/interp_smoke.html | 26 ++++++------ 2 files changed, 64 insertions(+), 14 deletions(-) diff --git a/text8.txt b/text8.txt index 0b545bc..993b6ed 100644 --- a/text8.txt +++ b/text8.txt @@ -1373,3 +1373,55 @@ host_wasm_opfs_browser_smokes=ok 继续小批量 browser OPFS test glue guard。优先扫描 custom session 中 saved parameter value object 是否还能用 helper/locals 收敛;只改测试胶水,不改变参数值、 custom filename 输入、OPFS path、WASM path 字符串或保存/读取行为。 + +三十、2026-06-14 继续执行记录:browser OPFS custom session parameter values helper guard + +本轮按上一条下一步建议继续收敛 custom session 中 saved parameter value object, +范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。 + +完成内容: + +- 新增 `opfsParameterValues(...)`,统一 custom session save parameter 时 + 5161、5162、5220、5221、5399 的 value object 构造; +- INI-named session 的 saved parameter value object 复用 + `opfsParameterValues(...)`; +- explicit override session 的 saved parameter value object 复用 + `opfsParameterValues(...)`; +- `5220` 仍固定为 `1.0`,实际保存参数值不变; +- 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 中 repeated +parameter value groups 是否还能和 result/readback expected 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 802e86f..160983e 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -4577,6 +4577,16 @@ ].join("\n"); } + function opfsParameterValues(parameter5161, parameter5162, parameter5221, parameter5399) { + return { + 5161: parameter5161, + 5162: parameter5162, + 5220: 1.0, + 5221: parameter5221, + 5399: parameter5399, + }; + } + function opfsToolTableResultLines(operation, toolNo, pocketNo, extraLines = []) { return [ `tooldata_${operation}=0`, @@ -9591,13 +9601,7 @@ const savedIniNamedParameters = await saveMachineParametersToOpfs( interp, iniFileMachineId, - { - 5161: 33.75, - 5162: 67.5, - 5220: 1.0, - 5221: 5.25, - 5399: 199, - }, + opfsParameterValues(33.75, 67.5, 5.25, 199), opfsLoadedFileSaveOptions(loadedIniFileSession.parameters), ); assertOpfsSavedParameterStaging( @@ -9726,13 +9730,7 @@ const savedExplicitParameters = await saveMachineParametersToOpfs( interp, iniOverrideMachineId, - { - 5161: 51.25, - 5162: 102.5, - 5220: 1.0, - 5221: 7.5, - 5399: 202, - }, + opfsParameterValues(51.25, 102.5, 7.5, 202), opfsLoadedFileSaveOptions(loadedIniOverrideSession.parameters), ); assertOpfsSavedParameterStaging(