From 0a968b0ebf11f19e4443209e36012ca02400aee3 Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sun, 14 Jun 2026 07:45:34 +0800 Subject: [PATCH] Guard browser parameter seed object adapter --- text9.txt | 58 +++++++++++++++++++++++ wasm-port/tests/browser/interp_smoke.html | 23 +++++---- 2 files changed, 69 insertions(+), 12 deletions(-) diff --git a/text9.txt b/text9.txt index a4e5785..3636f9a 100644 --- a/text9.txt +++ b/text9.txt @@ -1025,3 +1025,61 @@ host_wasm_opfs_browser_smokes=ok `opfsParameterSeedTextForValues(...)` object adapter,收敛 direct、INI-named 与 explicit parameter seed file 写入的字段展开;只改测试胶水,不改变输入、OPFS path、 WASM path 字符串或保存/读取行为。 + +二十一、2026-06-14 继续执行记录:browser parameter seed object adapter guard + +本轮按上一条下一步建议继续收敛 parameter seed file 写入的字段展开,范围仍只触及 +`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。 + +完成内容: + +- 新增 `opfsParameterSeedTextForValues(...)`,从显式 parameter value set 转发到 + `opfsParameterSeedText(...)`; +- INI-named custom session parameter seed file 写入改为复用 + `opfsParameterSeedTextForValues(...)`; +- explicit custom session parameter seed file 写入改为复用 + `opfsParameterSeedTextForValues(...)`; +- adapter 只转发已显式保存的 object 字段,不推导 LinuxCNC-owned parameter 文件 + 格式; +- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load + 行为; +- 未改变 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 +``` + +备注: + +- 当前 sandbox 会拦截本地 HTTP server socket bind;browser smoke 与 + `verify_host_smokes.sh` 的 browser 阶段需授权运行; +- 本轮 browser smoke 与 host smoke 均已授权运行并通过。 + +下一步建议: + +继续小批量 browser test glue guard。优先扫描 direct/generated parameter fixture +helpers 是否也能复用 `opfsParameterValueSet(...)` 或 seed/text adapter;只改测试胶水, +不改变输入、OPFS path、WASM path 字符串或保存/读取行为。 diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index 1a06da9..d3ce451 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -4597,6 +4597,15 @@ ].join("\n"); } + function opfsParameterSeedTextForValues(values) { + return opfsParameterSeedText( + values.parameter5161, + values.parameter5162, + values.parameter5221, + values.parameter5399, + ); + } + function browserDirectParameterSeedLines(includeNamedParam = false) { return [ "5161 10.5", @@ -9697,12 +9706,7 @@ await writeOpfsMachineFile( iniFileMachineId, iniFileParameterFilename, - opfsParameterSeedText( - iniNamedInitialParameterValues.parameter5161, - iniNamedInitialParameterValues.parameter5162, - iniNamedInitialParameterValues.parameter5221, - iniNamedInitialParameterValues.parameter5399, - ), + opfsParameterSeedTextForValues(iniNamedInitialParameterValues), ); const iniNamedToolTable = opfsToolTableToolValues( "8", @@ -9838,12 +9842,7 @@ await writeOpfsMachineFile( iniOverrideMachineId, explicitParameterFilename, - opfsParameterSeedText( - explicitInitialParameterValues.parameter5161, - explicitInitialParameterValues.parameter5162, - explicitInitialParameterValues.parameter5221, - explicitInitialParameterValues.parameter5399, - ), + opfsParameterSeedTextForValues(explicitInitialParameterValues), ); const explicitToolTable = opfsToolTableToolValues( "9",