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

This commit is contained in:
2026-06-14 13:40:17 +08:00
parent 32aeba7a06
commit c0bce74cf2
2 changed files with 79 additions and 8 deletions

View File

@@ -2593,3 +2593,58 @@ host_wasm_opfs_browser_smokes=ok
assertions 或 remaining OPFS readback path groups 是否还能进一步局部常量化或复用 assertions 或 remaining OPFS readback path groups 是否还能进一步局部常量化或复用
existing helpers只改测试胶水不改变输入、OPFS path、WASM path 字符串或保存/读取 existing helpers只改测试胶水不改变输入、OPFS path、WASM path 字符串或保存/读取
行为。 行为。
五十、2026-06-14 继续执行记录browser custom session saved staging groups guard
本轮按上一条下一步建议继续收敛 custom session saved file staging assertions范围仍只触及
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
完成内容:
- 新增 `iniNamedParameterSaveStaging` 局部常量,承载 ini-named parameter saved
staging filename/WASM path group
- 新增 `iniNamedToolTableSaveStaging` 局部常量,承载 ini-named tool-table saved
staging filename/WASM path group
- 新增 `explicitParameterSaveStaging` 局部常量,承载 explicit parameter saved staging
filename/WASM path group
- 新增 `explicitToolTableSaveStaging` 局部常量,承载 explicit tool-table saved staging
filename/WASM path group
- ini-named 与 explicit session 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。优先扫描 remaining OPFS readback path groups 或
machine text store path assertion groups 是否还能进一步局部常量化或复用 existing
helpers只改测试胶水不改变输入、OPFS path、WASM path 字符串或保存/读取行为。

View File

@@ -9861,12 +9861,16 @@
opfsParameterValuesForValueSet(iniNamedParameterValues), opfsParameterValuesForValueSet(iniNamedParameterValues),
opfsLoadedFileSaveOptions(loadedIniFileSession.parameters), opfsLoadedFileSaveOptions(loadedIniFileSession.parameters),
); );
const iniNamedParameterSaveStaging = {
filename: iniFileParameterFilename,
wasmPath: iniFileParameterWasmPath,
};
assertOpfsSavedParameterStaging( assertOpfsSavedParameterStaging(
"opfs_save_ini_named_parameters_staging", "opfs_save_ini_named_parameters_staging",
savedIniNamedParameters, savedIniNamedParameters,
iniFileMachineId, iniFileMachineId,
iniFileParameterFilename, iniNamedParameterSaveStaging.filename,
iniFileParameterWasmPath, iniNamedParameterSaveStaging.wasmPath,
); );
verifyOpfsSaveResult( verifyOpfsSaveResult(
"opfs_save_ini_named_parameter_file", "opfs_save_ini_named_parameter_file",
@@ -9910,12 +9914,16 @@
iniFileMachineId, iniFileMachineId,
opfsLoadedFileSaveOptions(loadedIniFileSession.toolTable), opfsLoadedFileSaveOptions(loadedIniFileSession.toolTable),
); );
const iniNamedToolTableSaveStaging = {
filename: iniFileToolTableFilename,
wasmPath: iniFileToolTableWasmPath,
};
assertOpfsSavedToolTableStaging( assertOpfsSavedToolTableStaging(
"opfs_save_ini_named_tool_table_staging", "opfs_save_ini_named_tool_table_staging",
savedIniNamedToolTable, savedIniNamedToolTable,
iniFileMachineId, iniFileMachineId,
iniFileToolTableFilename, iniNamedToolTableSaveStaging.filename,
iniFileToolTableWasmPath, iniNamedToolTableSaveStaging.wasmPath,
); );
const iniNamedSaveToolTableResultLines = opfsToolTableResultLinesForTool( const iniNamedSaveToolTableResultLines = opfsToolTableResultLinesForTool(
"save", "save",
@@ -10038,12 +10046,16 @@
opfsParameterValuesForValueSet(explicitParameterValues), opfsParameterValuesForValueSet(explicitParameterValues),
opfsLoadedFileSaveOptions(loadedIniOverrideSession.parameters), opfsLoadedFileSaveOptions(loadedIniOverrideSession.parameters),
); );
const explicitParameterSaveStaging = {
filename: explicitParameterFilename,
wasmPath: explicitParameterWasmPath,
};
assertOpfsSavedParameterStaging( assertOpfsSavedParameterStaging(
"opfs_save_explicit_parameters_staging", "opfs_save_explicit_parameters_staging",
savedExplicitParameters, savedExplicitParameters,
iniOverrideMachineId, iniOverrideMachineId,
explicitParameterFilename, explicitParameterSaveStaging.filename,
explicitParameterWasmPath, explicitParameterSaveStaging.wasmPath,
); );
const explicitSaveParameterResultLines = opfsParameterResultLinesForValues( const explicitSaveParameterResultLines = opfsParameterResultLinesForValues(
"save", "save",
@@ -10077,12 +10089,16 @@
iniOverrideMachineId, iniOverrideMachineId,
opfsLoadedFileSaveOptions(loadedIniOverrideSession.toolTable), opfsLoadedFileSaveOptions(loadedIniOverrideSession.toolTable),
); );
const explicitToolTableSaveStaging = {
filename: explicitToolTableFilename,
wasmPath: explicitToolTableWasmPath,
};
assertOpfsSavedToolTableStaging( assertOpfsSavedToolTableStaging(
"opfs_save_explicit_tool_table_staging", "opfs_save_explicit_tool_table_staging",
savedExplicitToolTable, savedExplicitToolTable,
iniOverrideMachineId, iniOverrideMachineId,
explicitToolTableFilename, explicitToolTableSaveStaging.filename,
explicitToolTableWasmPath, explicitToolTableSaveStaging.wasmPath,
); );
const explicitSaveToolTableResultLines = opfsToolTableResultLinesForTool( const explicitSaveToolTableResultLines = opfsToolTableResultLinesForTool(
"save", "save",