Guard browser INI-named parameter object adapters

This commit is contained in:
2026-06-14 07:36:48 +08:00
parent c7e7f075f3
commit 1a77863ddb
2 changed files with 81 additions and 10 deletions

View File

@@ -903,3 +903,64 @@ host_wasm_opfs_browser_smokes=ok
继续小批量 browser test glue guard。优先扫描 parameter 的 direct helper 是否还能 继续小批量 browser test glue guard。优先扫描 parameter 的 direct helper 是否还能
合并命名,或者转向更少层级的 `parameter result/text` adapter只改测试胶水不改变 合并命名,或者转向更少层级的 `parameter result/text` adapter只改测试胶水不改变
输入、OPFS path、WASM path 字符串或保存/读取行为。 输入、OPFS path、WASM path 字符串或保存/读取行为。
十九、2026-06-14 继续执行记录browser INI-named parameter object adapter guard
本轮按上一条下一步建议继续收敛 INI-named custom session parameter result/text
helper 调用点的参数展开,范围仍只触及
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
完成内容:
- `iniNamedInitialParameterValues` 改为 `opfsParameterValueSet(...)`
- `iniNamedParameterValues`、`iniNamedParameterExpectedValues` 与
`iniNamedParameterReadbackValues` 改为 `opfsParameterValueSet(...)`
- INI-named custom session parameter restore/save/readback/backup 调用点改为复用
`opfsParameterResultLinesForValues(...)`、
`opfsParameterTextLinesForValues(...)` 与
`opfsParameterValuesForValueSet(...)`
- seed file 写入仍显式展开 `parameter5161/5162/5221/5399` 字段,不推导
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。优先扫描 explicit custom session parameter
value groups把 `explicit*Parameter*` 数组也收敛到
`opfsParameterValueSet(...)` object adapter只改测试胶水不改变输入、OPFS path、
WASM path 字符串或保存/读取行为。

View File

@@ -9693,11 +9693,16 @@
browserIniFileTextPaths, browserIniFileTextPaths,
iniFileMachineId, iniFileMachineId,
); );
const iniNamedInitialParameterValues = ["31.25", "62.5", "4.5", "99"]; const iniNamedInitialParameterValues = opfsParameterValueSet("31.25", "62.5", "4.5", "99");
await writeOpfsMachineFile( await writeOpfsMachineFile(
iniFileMachineId, iniFileMachineId,
iniFileParameterFilename, iniFileParameterFilename,
opfsParameterSeedText(...iniNamedInitialParameterValues), opfsParameterSeedText(
iniNamedInitialParameterValues.parameter5161,
iniNamedInitialParameterValues.parameter5162,
iniNamedInitialParameterValues.parameter5221,
iniNamedInitialParameterValues.parameter5399,
),
); );
const iniNamedToolTable = opfsToolTableToolValues( const iniNamedToolTable = opfsToolTableToolValues(
"8", "8",
@@ -9740,15 +9745,20 @@
verifyOpfsLoadResult( verifyOpfsLoadResult(
"opfs_load_ini_named_parameter_file", "opfs_load_ini_named_parameter_file",
loadedIniFileSession.parameters, loadedIniFileSession.parameters,
opfsParameterResultLines("restore", ...iniNamedInitialParameterValues), opfsParameterResultLinesForValues("restore", iniNamedInitialParameterValues),
);
const iniNamedParameterValues = opfsParameterValueSet(33.75, 67.5, 5.25, 199);
const iniNamedParameterExpectedValues = opfsParameterValueSet("33.75", "67.5", "5.25", "199");
const iniNamedParameterReadbackValues = opfsParameterValueSet(
"33.750000",
"67.500000",
"5.250000",
"199.000000",
); );
const iniNamedParameterValues = [33.75, 67.5, 5.25, 199];
const iniNamedParameterExpectedValues = ["33.75", "67.5", "5.25", "199"];
const iniNamedParameterReadbackValues = ["33.750000", "67.500000", "5.250000", "199.000000"];
const savedIniNamedParameters = await saveMachineParametersToOpfs( const savedIniNamedParameters = await saveMachineParametersToOpfs(
interp, interp,
iniFileMachineId, iniFileMachineId,
opfsParameterValues(...iniNamedParameterValues), opfsParameterValuesForValueSet(iniNamedParameterValues),
opfsLoadedFileSaveOptions(loadedIniFileSession.parameters), opfsLoadedFileSaveOptions(loadedIniFileSession.parameters),
); );
assertOpfsSavedParameterStaging( assertOpfsSavedParameterStaging(
@@ -9761,17 +9771,17 @@
verifyOpfsSaveResult( verifyOpfsSaveResult(
"opfs_save_ini_named_parameter_file", "opfs_save_ini_named_parameter_file",
savedIniNamedParameters, savedIniNamedParameters,
opfsParameterResultLines("save", ...iniNamedParameterExpectedValues), opfsParameterResultLinesForValues("save", iniNamedParameterExpectedValues),
); );
await verifyOpfsReadback( await verifyOpfsReadback(
"opfs_saved_ini_named_parameter_text", "opfs_saved_ini_named_parameter_text",
loadedIniFileSession.parameters.opfsPath, loadedIniFileSession.parameters.opfsPath,
opfsParameterTextLines("\t", ...iniNamedParameterReadbackValues), opfsParameterTextLinesForValues("\t", iniNamedParameterReadbackValues),
); );
await verifyOpfsReadback( await verifyOpfsReadback(
"opfs_saved_ini_named_parameter_backup_text", "opfs_saved_ini_named_parameter_backup_text",
savedIniNamedParameters.backupOpfsPath, savedIniNamedParameters.backupOpfsPath,
opfsParameterTextLines(" ", ...iniNamedInitialParameterValues), opfsParameterTextLinesForValues(" ", iniNamedInitialParameterValues),
); );
verifyOpfsLoadResult( verifyOpfsLoadResult(
"opfs_load_ini_named_tool_table", "opfs_load_ini_named_tool_table",