Guard browser OPFS direct session parameter seed

This commit is contained in:
2026-06-14 06:22:54 +08:00
parent 9265825843
commit 0cfe942d6b
2 changed files with 66 additions and 17 deletions

View File

@@ -1737,3 +1737,55 @@ host_wasm_opfs_browser_smokes=ok
parameter fixture value groups 是否能像 custom session 一样收敛为局部常量或复用 parameter fixture value groups 是否能像 custom session 一样收敛为局部常量或复用
现有 parameter helper只改测试胶水不改变参数值、OPFS path、WASM path 字符串或 现有 parameter helper只改测试胶水不改变参数值、OPFS path、WASM path 字符串或
保存/读取行为。 保存/读取行为。
三十七、2026-06-14 继续执行记录browser OPFS direct session parameter seed helper guard
本轮按上一条下一步建议继续收敛 direct browser session 的 parameter fixture value
groups范围仍只触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS
test glue。
完成内容:
- 新增 `browserDirectParameterSeedLines(...)`,统一 direct browser session parameter
seed fixture 中 5161、5162、5220、5221、5399 的写入 lines
- `browser-interp` session 的 parameter seed text 改为复用
`browserDirectParameterSeedLines(true)`,仍保留 `<_named_param> 123`
- `browser-random-toolchanger` session 的 parameter seed text 改为复用
`browserDirectParameterSeedLines()`
- seed text 仍保留 `5220 1` 和末尾空行,实际写入内容不变;
- 未改变参数值、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
```
下一步建议:
继续小批量 browser OPFS test glue guard。优先扫描 direct `browser-interp` session 的
saved parameter value object、save result expected lines、saved/readback expected
lines 是否能对齐为 locals 或复用现有 `opfsParameter*` helpers只改测试胶水不改变
参数值、OPFS path、WASM path 字符串或保存/读取行为。

View File

@@ -4577,6 +4577,18 @@
].join("\n"); ].join("\n");
} }
function browserDirectParameterSeedLines(includeNamedParam = false) {
return [
"5161 10.5",
"5162 20.25",
"5220 1",
"5221 2.25",
"5399 44",
...(includeNamedParam ? ["<_named_param> 123"] : []),
"",
];
}
function opfsParameterValues(parameter5161, parameter5162, parameter5221, parameter5399) { function opfsParameterValues(parameter5161, parameter5162, parameter5221, parameter5399) {
return { return {
5161: parameter5161, 5161: parameter5161,
@@ -9313,15 +9325,7 @@
const browserInterpTextPaths = await saveMachineTextFiles(browserInterpMachineId, { const browserInterpTextPaths = await saveMachineTextFiles(browserInterpMachineId, {
ini: `[EMC]\nMACHINE = ${browserInterpMachineId}\n`, ini: `[EMC]\nMACHINE = ${browserInterpMachineId}\n`,
toolTable: "T2 P7 Z3.125 D1.5 I12 J34 Q4 ;browser finish tool\n", toolTable: "T2 P7 Z3.125 D1.5 I12 J34 Q4 ;browser finish tool\n",
parameters: [ parameters: browserDirectParameterSeedLines(true).join("\n"),
"5161 10.5",
"5162 20.25",
"5220 1",
"5221 2.25",
"5399 44",
"<_named_param> 123",
"",
].join("\n"),
}); });
assertMachineTextStorePaths( assertMachineTextStorePaths(
"opfs_save_machine_text_files_staging", "opfs_save_machine_text_files_staging",
@@ -9474,14 +9478,7 @@
"T5 P9 X1 Y2 Z3 ;browser random rough tool", "T5 P9 X1 Y2 Z3 ;browser random rough tool",
"", "",
].join("\n"), ].join("\n"),
parameters: [ parameters: browserDirectParameterSeedLines().join("\n"),
"5161 10.5",
"5162 20.25",
"5220 1",
"5221 2.25",
"5399 44",
"",
].join("\n"),
}); });
assertMachineTextStorePaths( assertMachineTextStorePaths(
"opfs_save_random_machine_text_files_staging", "opfs_save_random_machine_text_files_staging",