继续推进浏览器 saved staging 断言组 guard

This commit is contained in:
2026-06-14 13:31:01 +08:00
parent 7d9cf887be
commit 32aeba7a06
2 changed files with 73 additions and 6 deletions

View File

@@ -2538,3 +2538,58 @@ host_wasm_opfs_browser_smokes=ok
file staging assertions 或 machine text store path assertion groups 是否还能进一步局部
常量化或复用 existing helpers只改测试胶水不改变输入、OPFS path、WASM path 字符串
或保存/读取行为。
四十九、2026-06-14 继续执行记录browser saved file staging groups guard
本轮按上一条下一步建议继续收敛 saved file staging assertions范围仍只触及
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
完成内容:
- 新增 `browserInterpParameterSaveStaging` 局部常量,承载 browser-interp parameter
save staging filename/WASM path group
- 新增 `browserInterpToolTableSaveStaging` 局部常量,承载 browser-interp tool-table
save staging filename/WASM path group
- 新增 `browserRandomToolTableSaveStaging` 局部常量,承载 browser-random tool-table
save staging filename/WASM path group
- browser-interp parameter/tool-table 与 browser-random tool-table saved staging 断言
改为复用上述 staging groups
- 保持 saved file expected OPFS path、WASM path、machine id、filename 与 save options
不变;
- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 load/save/read
行为;
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
验证已通过:
```bash
git diff --check
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
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
wasm-port/tests/host/verify_host_smokes.sh
```
关键输出:
```text
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
browser_interp_smoke=ok
host_wasm_opfs_browser_smokes=ok
```
下一步建议:
继续小批量 browser test glue guard。优先扫描 custom session saved file staging
assertions 或 remaining OPFS readback path groups 是否还能进一步局部常量化或复用
existing helpers只改测试胶水不改变输入、OPFS path、WASM path 字符串或保存/读取
行为。

View File

@@ -9591,12 +9591,16 @@
opfsParameterValuesForValueSet(browserInterpParameterValues),
{ wasmPath: browserInterpWasmPaths.parameters },
);
const browserInterpParameterSaveStaging = {
filename: OPFS_DEFAULT_PARAMETER_FILENAME,
wasmPath: browserInterpWasmPaths.parameters,
};
assertOpfsSavedParameterStaging(
"opfs_save_parameters_staging",
savedParameters,
browserInterpMachineId,
OPFS_DEFAULT_PARAMETER_FILENAME,
browserInterpWasmPaths.parameters,
browserInterpParameterSaveStaging.filename,
browserInterpParameterSaveStaging.wasmPath,
);
const browserInterpSaveParameterResultLines = opfsParameterResultLinesForValues(
"save",
@@ -9629,12 +9633,16 @@
browserInterpMachineId,
{ wasmPath: browserInterpWasmPaths.toolTable },
);
const browserInterpToolTableSaveStaging = {
filename: OPFS_DEFAULT_TOOL_TABLE_FILENAME,
wasmPath: browserInterpWasmPaths.toolTable,
};
assertOpfsSavedToolTableStaging(
"opfs_save_tool_table_staging",
savedToolTable,
browserInterpMachineId,
OPFS_DEFAULT_TOOL_TABLE_FILENAME,
browserInterpWasmPaths.toolTable,
browserInterpToolTableSaveStaging.filename,
browserInterpToolTableSaveStaging.wasmPath,
);
const browserInterpSaveToolTableResultLines = opfsToolTableResultLinesForTool(
"save",
@@ -9734,12 +9742,16 @@
browserRandomMachineId,
{ wasmPath: browserRandomWasmPaths.toolTable },
);
const browserRandomToolTableSaveStaging = {
filename: OPFS_DEFAULT_TOOL_TABLE_FILENAME,
wasmPath: browserRandomWasmPaths.toolTable,
};
assertOpfsSavedToolTableStaging(
"opfs_save_random_tool_table_staging",
savedRandomToolTable,
browserRandomMachineId,
OPFS_DEFAULT_TOOL_TABLE_FILENAME,
browserRandomWasmPaths.toolTable,
browserRandomToolTableSaveStaging.filename,
browserRandomToolTableSaveStaging.wasmPath,
);
const browserRandomSaveToolTableResultLines = opfsRandomToolTableResultLines("save", [
{ resultLines: ["tool_pocket_7.toolno=2"] },