From bc130d96858af53267f756b54129dbe6961fd4f5 Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sun, 14 Jun 2026 02:30:29 +0800 Subject: [PATCH] Guard browser OPFS custom session initial parameter locals --- text8.txt | 52 +++++++++++++++++++++++ wasm-port/tests/browser/interp_smoke.html | 14 +++--- 2 files changed, 60 insertions(+), 6 deletions(-) diff --git a/text8.txt b/text8.txt index 02a546b..4b13f4f 100644 --- a/text8.txt +++ b/text8.txt @@ -1479,3 +1479,55 @@ host_wasm_opfs_browser_smokes=ok 继续小批量 browser OPFS test glue guard。优先扫描 custom session 中 initial parameter seed/load/backup expected value groups 是否还能对齐为 locals;只改测试胶水, 不改变参数值、custom filename 输入、OPFS path、WASM path 字符串或保存/读取行为。 + +三十二、2026-06-14 继续执行记录:browser OPFS custom session initial parameter locals guard + +本轮按上一条下一步建议继续收敛 custom session 中 initial parameter +seed/load/backup expected value groups,范围仍只触及 +`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。 + +完成内容: + +- 为 INI-named session 增加 `iniNamedInitialParameterValues` 局部常量; +- INI-named session 的 parameter seed text、restore result expected lines、backup + readback expected lines 均复用 `iniNamedInitialParameterValues`; +- 为 explicit override session 增加 `explicitInitialParameterValues` 局部常量; +- explicit override session 的 parameter seed text、restore result expected lines、 + backup readback expected lines 均复用 `explicitInitialParameterValues`; +- initial values 仍保持字符串形式显式声明,未新增格式转换逻辑; +- 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 +value groups 是否还能和 load/save/readback helper 对齐为 locals;只改测试胶水, +不改变 tool-table 输入、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 ccde97a..650574e 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -9560,10 +9560,11 @@ browserIniFileTextPaths, iniFileMachineId, ); + const iniNamedInitialParameterValues = ["31.25", "62.5", "4.5", "99"]; await writeOpfsMachineFile( iniFileMachineId, iniFileParameterFilename, - opfsParameterSeedText("31.25", "62.5", "4.5", "99"), + opfsParameterSeedText(...iniNamedInitialParameterValues), ); await writeOpfsMachineFile( iniFileMachineId, @@ -9596,7 +9597,7 @@ verifyOpfsLoadResult( "opfs_load_ini_named_parameter_file", loadedIniFileSession.parameters, - opfsParameterResultLines("restore", "31.25", "62.5", "4.5", "99"), + opfsParameterResultLines("restore", ...iniNamedInitialParameterValues), ); const iniNamedParameterValues = [33.75, 67.5, 5.25, 199]; const iniNamedParameterExpectedValues = ["33.75", "67.5", "5.25", "199"]; @@ -9627,7 +9628,7 @@ await verifyOpfsReadback( "opfs_saved_ini_named_parameter_backup_text", savedIniNamedParameters.backupOpfsPath, - opfsParameterTextLines(" ", "31.25", "62.5", "4.5", "99"), + opfsParameterTextLines(" ", ...iniNamedInitialParameterValues), ); verifyOpfsLoadResult( "opfs_load_ini_named_tool_table", @@ -9679,10 +9680,11 @@ browserIniOverrideTextPaths, iniOverrideMachineId, ); + const explicitInitialParameterValues = ["41.25", "82.5", "6.5", "101"]; await writeOpfsMachineFile( iniOverrideMachineId, explicitParameterFilename, - opfsParameterSeedText("41.25", "82.5", "6.5", "101"), + opfsParameterSeedText(...explicitInitialParameterValues), ); await writeOpfsMachineFile( iniOverrideMachineId, @@ -9719,7 +9721,7 @@ verifyOpfsLoadResult( "opfs_load_explicit_parameter_file", loadedIniOverrideSession.parameters, - opfsParameterResultLines("restore", "41.25", "82.5", "6.5", "101"), + opfsParameterResultLines("restore", ...explicitInitialParameterValues), ); verifyOpfsLoadResult( "opfs_load_explicit_tool_table", @@ -9759,7 +9761,7 @@ await verifyOpfsReadback( "opfs_saved_explicit_parameter_backup_text", savedExplicitParameters.backupOpfsPath, - opfsParameterTextLines(" ", "41.25", "82.5", "6.5", "101"), + opfsParameterTextLines(" ", ...explicitInitialParameterValues), ); const savedExplicitToolTable = await saveMachineToolTableToOpfs( interp,