Guard browser direct generated parameter fixture
This commit is contained in:
63
text9.txt
63
text9.txt
@@ -1083,3 +1083,66 @@ host_wasm_opfs_browser_smokes=ok
|
||||
继续小批量 browser test glue guard。优先扫描 direct/generated parameter fixture
|
||||
helpers 是否也能复用 `opfsParameterValueSet(...)` 或 seed/text adapter;只改测试胶水,
|
||||
不改变输入、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 bind;browser 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 字符串或保存/读取行为。
|
||||
|
||||
@@ -4586,19 +4586,25 @@
|
||||
);
|
||||
}
|
||||
|
||||
function opfsParameterSeedText(parameter5161, parameter5162, parameter5221, parameter5399) {
|
||||
function opfsParameterSeedLines(parameter5161, parameter5162, parameter5221, parameter5399) {
|
||||
return [
|
||||
`5161 ${parameter5161}`,
|
||||
`5162 ${parameter5162}`,
|
||||
"5220 1",
|
||||
`5221 ${parameter5221}`,
|
||||
`5399 ${parameter5399}`,
|
||||
];
|
||||
}
|
||||
|
||||
function opfsParameterSeedText(parameter5161, parameter5162, parameter5221, parameter5399) {
|
||||
return [
|
||||
...opfsParameterSeedLines(parameter5161, parameter5162, parameter5221, parameter5399),
|
||||
"",
|
||||
].join("\n");
|
||||
}
|
||||
|
||||
function opfsParameterSeedTextForValues(values) {
|
||||
return opfsParameterSeedText(
|
||||
function opfsParameterSeedLinesForValues(values) {
|
||||
return opfsParameterSeedLines(
|
||||
values.parameter5161,
|
||||
values.parameter5162,
|
||||
values.parameter5221,
|
||||
@@ -4606,6 +4612,13 @@
|
||||
);
|
||||
}
|
||||
|
||||
function opfsParameterSeedTextForValues(values) {
|
||||
return [
|
||||
...opfsParameterSeedLinesForValues(values),
|
||||
"",
|
||||
].join("\n");
|
||||
}
|
||||
|
||||
function browserDirectParameterSeedLines(includeNamedParam = false) {
|
||||
return [
|
||||
"5161 10.5",
|
||||
@@ -9284,51 +9297,40 @@
|
||||
interp,
|
||||
"/work/browser-direct.var",
|
||||
[
|
||||
"5161 10.5",
|
||||
"5162 20.25",
|
||||
"5220 1",
|
||||
"5221 2.25",
|
||||
"5399 44",
|
||||
...opfsParameterSeedLinesForValues(
|
||||
opfsParameterValueSet("10.5", "20.25", "2.25", "44"),
|
||||
),
|
||||
"<_named_param> 123",
|
||||
"",
|
||||
].join("\n"),
|
||||
);
|
||||
const browserDirectInitialParameterValues = opfsParameterValueSet("10.5", "20.25", "2.25", "44");
|
||||
verifyExpectedOutput(
|
||||
"restore_parameters_direct",
|
||||
interp.restoreParameters(browserParameterFilePath),
|
||||
[
|
||||
"restore_parameters=0",
|
||||
"parameter_5161=10.5",
|
||||
"parameter_5162=20.25",
|
||||
"parameter_5221=2.25",
|
||||
"parameter_5399=44",
|
||||
].join("\n"),
|
||||
opfsParameterResultLinesForValues("restore", browserDirectInitialParameterValues).join("\n"),
|
||||
);
|
||||
const browserDirectParameterValues = opfsParameterValueSet(12.34, 56.78, 9.87, 66.6);
|
||||
const browserDirectParameterExpectedValues = opfsParameterValueSet("12.34", "56.78", "9.87", "66.6");
|
||||
const browserDirectParameterReadbackValues = opfsParameterValueSet(
|
||||
"12.340000",
|
||||
"56.780000",
|
||||
"9.870000",
|
||||
"66.600000",
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"save_parameters_direct",
|
||||
interp.saveParameters(browserParameterFilePath, {
|
||||
5161: 12.34,
|
||||
5162: 56.78,
|
||||
5220: 1.0,
|
||||
5221: 9.87,
|
||||
5399: 66.6,
|
||||
}),
|
||||
[
|
||||
"save_parameters=0",
|
||||
"parameter_5161=12.34",
|
||||
"parameter_5162=56.78",
|
||||
"parameter_5221=9.87",
|
||||
"parameter_5399=66.6",
|
||||
].join("\n"),
|
||||
interp.saveParameters(
|
||||
browserParameterFilePath,
|
||||
opfsParameterValuesForValueSet(browserDirectParameterValues),
|
||||
),
|
||||
opfsParameterResultLinesForValues("save", browserDirectParameterExpectedValues).join("\n"),
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"saved_parameters_direct_text",
|
||||
interp.readTextFile(browserParameterFilePath),
|
||||
[
|
||||
"5161\t12.340000",
|
||||
"5162\t56.780000",
|
||||
"5221\t9.870000",
|
||||
"5399\t66.600000",
|
||||
...opfsParameterTextLinesForValues("\t", browserDirectParameterReadbackValues),
|
||||
"absent=<_named_param>",
|
||||
].join("\n"),
|
||||
);
|
||||
@@ -9336,10 +9338,7 @@
|
||||
"saved_parameters_direct_backup",
|
||||
interp.readTextFile(`${browserParameterFilePath}.bak`),
|
||||
[
|
||||
"5161 10.5",
|
||||
"5162 20.25",
|
||||
"5221 2.25",
|
||||
"5399 44",
|
||||
...opfsParameterTextLinesForValues(" ", browserDirectInitialParameterValues),
|
||||
"<_named_param> 123",
|
||||
].join("\n"),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user