Guard browser direct generated parameter fixture

This commit is contained in:
2026-06-14 07:52:28 +08:00
parent 0a968b0ebf
commit c4b454c711
2 changed files with 99 additions and 37 deletions

View File

@@ -1083,3 +1083,66 @@ host_wasm_opfs_browser_smokes=ok
继续小批量 browser test glue guard。优先扫描 direct/generated parameter fixture 继续小批量 browser test glue guard。优先扫描 direct/generated parameter fixture
helpers 是否也能复用 `opfsParameterValueSet(...)` 或 seed/text adapter只改测试胶水 helpers 是否也能复用 `opfsParameterValueSet(...)` 或 seed/text adapter只改测试胶水
不改变输入、OPFS path、WASM path 字符串或保存/读取行为。 不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
二十二、2026-06-14 继续执行记录browser direct generated parameter fixture adapter guard
本轮按上一条下一步建议继续收敛 direct generated parameter fixture helper 的
expected lines 与 seed lines范围仍只触及
`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。
完成内容:
- 新增 `opfsParameterSeedLines(...)`,为 parameter seed text helper 提供结构化
seed line 列表;
- 新增 `opfsParameterSeedLinesForValues(...)`,从显式 parameter value set 转发到
`opfsParameterSeedLines(...)`
- `opfsParameterSeedText(...)` 与 `opfsParameterSeedTextForValues(...)` 改为复用
seed line helper
- direct generated `browser-direct.var` seed input 改为复用
`opfsParameterSeedLinesForValues(...)`,并继续显式保留 `<_named_param> 123`
- `restore_parameters_direct`、`save_parameters_direct`、
`saved_parameters_direct_text` 与 `saved_parameters_direct_backup` expected lines
改为复用 parameter object adapter
- `absent=<_named_param>` 与 `<_named_param> 123` 仍保留在对应调用点,保持语义边界外显;
- 未改变任何 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。优先扫描 out-of-order 与 missing-required
generated parameter fixtures 是否能复用小型 local constants 或 existing parameter
helpers只改测试胶水不改变输入、OPFS path、WASM path 字符串或保存/读取行为。

View File

@@ -4586,19 +4586,25 @@
); );
} }
function opfsParameterSeedText(parameter5161, parameter5162, parameter5221, parameter5399) { function opfsParameterSeedLines(parameter5161, parameter5162, parameter5221, parameter5399) {
return [ return [
`5161 ${parameter5161}`, `5161 ${parameter5161}`,
`5162 ${parameter5162}`, `5162 ${parameter5162}`,
"5220 1", "5220 1",
`5221 ${parameter5221}`, `5221 ${parameter5221}`,
`5399 ${parameter5399}`, `5399 ${parameter5399}`,
];
}
function opfsParameterSeedText(parameter5161, parameter5162, parameter5221, parameter5399) {
return [
...opfsParameterSeedLines(parameter5161, parameter5162, parameter5221, parameter5399),
"", "",
].join("\n"); ].join("\n");
} }
function opfsParameterSeedTextForValues(values) { function opfsParameterSeedLinesForValues(values) {
return opfsParameterSeedText( return opfsParameterSeedLines(
values.parameter5161, values.parameter5161,
values.parameter5162, values.parameter5162,
values.parameter5221, values.parameter5221,
@@ -4606,6 +4612,13 @@
); );
} }
function opfsParameterSeedTextForValues(values) {
return [
...opfsParameterSeedLinesForValues(values),
"",
].join("\n");
}
function browserDirectParameterSeedLines(includeNamedParam = false) { function browserDirectParameterSeedLines(includeNamedParam = false) {
return [ return [
"5161 10.5", "5161 10.5",
@@ -9284,51 +9297,40 @@
interp, interp,
"/work/browser-direct.var", "/work/browser-direct.var",
[ [
"5161 10.5", ...opfsParameterSeedLinesForValues(
"5162 20.25", opfsParameterValueSet("10.5", "20.25", "2.25", "44"),
"5220 1", ),
"5221 2.25",
"5399 44",
"<_named_param> 123", "<_named_param> 123",
"", "",
].join("\n"), ].join("\n"),
); );
const browserDirectInitialParameterValues = opfsParameterValueSet("10.5", "20.25", "2.25", "44");
verifyExpectedOutput( verifyExpectedOutput(
"restore_parameters_direct", "restore_parameters_direct",
interp.restoreParameters(browserParameterFilePath), interp.restoreParameters(browserParameterFilePath),
[ opfsParameterResultLinesForValues("restore", browserDirectInitialParameterValues).join("\n"),
"restore_parameters=0", );
"parameter_5161=10.5", const browserDirectParameterValues = opfsParameterValueSet(12.34, 56.78, 9.87, 66.6);
"parameter_5162=20.25", const browserDirectParameterExpectedValues = opfsParameterValueSet("12.34", "56.78", "9.87", "66.6");
"parameter_5221=2.25", const browserDirectParameterReadbackValues = opfsParameterValueSet(
"parameter_5399=44", "12.340000",
].join("\n"), "56.780000",
"9.870000",
"66.600000",
); );
verifyExpectedOutput( verifyExpectedOutput(
"save_parameters_direct", "save_parameters_direct",
interp.saveParameters(browserParameterFilePath, { interp.saveParameters(
5161: 12.34, browserParameterFilePath,
5162: 56.78, opfsParameterValuesForValueSet(browserDirectParameterValues),
5220: 1.0, ),
5221: 9.87, opfsParameterResultLinesForValues("save", browserDirectParameterExpectedValues).join("\n"),
5399: 66.6,
}),
[
"save_parameters=0",
"parameter_5161=12.34",
"parameter_5162=56.78",
"parameter_5221=9.87",
"parameter_5399=66.6",
].join("\n"),
); );
verifyExpectedOutput( verifyExpectedOutput(
"saved_parameters_direct_text", "saved_parameters_direct_text",
interp.readTextFile(browserParameterFilePath), interp.readTextFile(browserParameterFilePath),
[ [
"5161\t12.340000", ...opfsParameterTextLinesForValues("\t", browserDirectParameterReadbackValues),
"5162\t56.780000",
"5221\t9.870000",
"5399\t66.600000",
"absent=<_named_param>", "absent=<_named_param>",
].join("\n"), ].join("\n"),
); );
@@ -9336,10 +9338,7 @@
"saved_parameters_direct_backup", "saved_parameters_direct_backup",
interp.readTextFile(`${browserParameterFilePath}.bak`), interp.readTextFile(`${browserParameterFilePath}.bak`),
[ [
"5161 10.5", ...opfsParameterTextLinesForValues(" ", browserDirectInitialParameterValues),
"5162 20.25",
"5221 2.25",
"5399 44",
"<_named_param> 123", "<_named_param> 123",
].join("\n"), ].join("\n"),
); );