Guard browser parameter seed object adapter

This commit is contained in:
2026-06-14 07:45:34 +08:00
parent ec2105ddff
commit 0a968b0ebf
2 changed files with 69 additions and 12 deletions

View File

@@ -1025,3 +1025,61 @@ host_wasm_opfs_browser_smokes=ok
`opfsParameterSeedTextForValues(...)` object adapter收敛 direct、INI-named 与 `opfsParameterSeedTextForValues(...)` object adapter收敛 direct、INI-named 与
explicit parameter seed file 写入的字段展开只改测试胶水不改变输入、OPFS path、 explicit parameter seed file 写入的字段展开只改测试胶水不改变输入、OPFS path、
WASM 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 bindbrowser 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 字符串或保存/读取行为。

View File

@@ -4597,6 +4597,15 @@
].join("\n"); ].join("\n");
} }
function opfsParameterSeedTextForValues(values) {
return opfsParameterSeedText(
values.parameter5161,
values.parameter5162,
values.parameter5221,
values.parameter5399,
);
}
function browserDirectParameterSeedLines(includeNamedParam = false) { function browserDirectParameterSeedLines(includeNamedParam = false) {
return [ return [
"5161 10.5", "5161 10.5",
@@ -9697,12 +9706,7 @@
await writeOpfsMachineFile( await writeOpfsMachineFile(
iniFileMachineId, iniFileMachineId,
iniFileParameterFilename, iniFileParameterFilename,
opfsParameterSeedText( opfsParameterSeedTextForValues(iniNamedInitialParameterValues),
iniNamedInitialParameterValues.parameter5161,
iniNamedInitialParameterValues.parameter5162,
iniNamedInitialParameterValues.parameter5221,
iniNamedInitialParameterValues.parameter5399,
),
); );
const iniNamedToolTable = opfsToolTableToolValues( const iniNamedToolTable = opfsToolTableToolValues(
"8", "8",
@@ -9838,12 +9842,7 @@
await writeOpfsMachineFile( await writeOpfsMachineFile(
iniOverrideMachineId, iniOverrideMachineId,
explicitParameterFilename, explicitParameterFilename,
opfsParameterSeedText( opfsParameterSeedTextForValues(explicitInitialParameterValues),
explicitInitialParameterValues.parameter5161,
explicitInitialParameterValues.parameter5162,
explicitInitialParameterValues.parameter5221,
explicitInitialParameterValues.parameter5399,
),
); );
const explicitToolTable = opfsToolTableToolValues( const explicitToolTable = opfsToolTableToolValues(
"9", "9",