继续推进浏览器 custom session 参数工具表结果组 guard

This commit is contained in:
2026-06-14 12:55:27 +08:00
parent 7da56b2692
commit b699828d74
2 changed files with 135 additions and 20 deletions

View File

@@ -2313,3 +2313,68 @@ host_wasm_opfs_browser_smokes=ok
继续小批量 browser test glue guard。优先扫描 ini-named/explicit session 的参数和 继续小批量 browser test glue guard。优先扫描 ini-named/explicit session 的参数和
tool-table load/save/result/backing text groups 是否还能进一步局部常量化或复用 existing tool-table load/save/result/backing text groups 是否还能进一步局部常量化或复用 existing
helpers只改测试胶水不改变输入、OPFS path、WASM path 字符串或保存/读取行为。 helpers只改测试胶水不改变输入、OPFS path、WASM path 字符串或保存/读取行为。
四十五、2026-06-14 继续执行记录browser custom session parameter/tool-table groups guard
本轮按上一条下一步建议继续收敛 ini-named/explicit session 的参数和 tool-table
load/save/result/backing text groups范围仍只触及
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
完成内容:
- 新增 `iniNamedRestoreParameterResultLines` 局部常量,承载 ini-named parameter
restore expected result lines
- 新增 `iniNamedSaveParameterResultLines` 局部常量,承载 ini-named parameter save
expected result lines
- 新增 `iniNamedSavedParameterTextLines` 局部常量,承载 ini-named parameter saved text
expected lines
- 新增 `iniNamedSavedParameterBackupTextLines` 局部常量,承载 ini-named parameter backup
text expected lines
- 新增 `iniNamedLoadToolTableResultLines` 与 `iniNamedSaveToolTableResultLines` 局部
常量,承载 ini-named tool-table load/save expected result lines
- 新增 `explicitRestoreParameterResultLines` 与 `explicitSaveParameterResultLines` 局部
常量,承载 explicit parameter restore/save expected result lines
- 新增 `explicitSavedParameterTextLines` 与 `explicitSavedParameterBackupTextLines` 局部
常量,承载 explicit parameter saved/backup text expected lines
- 新增 `explicitLoadToolTableResultLines` 与 `explicitSaveToolTableResultLines` 局部
常量,承载 explicit tool-table load/save expected result lines
- ini-named 与 explicit session 的参数/tool-table load/save/readback/backup 断言改为
复用上述 line groups
- 保持 ini-named/explicit session 的 expected 文本、OPFS path 与 WASM path 不变;
- 未改变任何 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。优先扫描 invalid INI session reject groups、
machine/session path assertions 或 remaining OPFS readback groups 是否还能进一步局部
常量化或复用 existing helpers只改测试胶水不改变输入、OPFS path、WASM path 字符串
或保存/读取行为。

View File

@@ -9819,10 +9819,14 @@
iniFileToolTableWasmPath, iniFileToolTableWasmPath,
), ),
); );
const iniNamedRestoreParameterResultLines = opfsParameterResultLinesForValues(
"restore",
iniNamedInitialParameterValues,
);
verifyOpfsLoadResult( verifyOpfsLoadResult(
"opfs_load_ini_named_parameter_file", "opfs_load_ini_named_parameter_file",
loadedIniFileSession.parameters, loadedIniFileSession.parameters,
opfsParameterResultLinesForValues("restore", iniNamedInitialParameterValues), iniNamedRestoreParameterResultLines,
); );
const iniNamedParameterValues = opfsParameterValueSet(33.75, 67.5, 5.25, 199); const iniNamedParameterValues = opfsParameterValueSet(33.75, 67.5, 5.25, 199);
const iniNamedParameterExpectedValues = opfsParameterValueSet("33.75", "67.5", "5.25", "199"); const iniNamedParameterExpectedValues = opfsParameterValueSet("33.75", "67.5", "5.25", "199");
@@ -9832,6 +9836,10 @@
"5.250000", "5.250000",
"199.000000", "199.000000",
); );
const iniNamedSaveParameterResultLines = opfsParameterResultLinesForValues(
"save",
iniNamedParameterExpectedValues,
);
const savedIniNamedParameters = await saveMachineParametersToOpfs( const savedIniNamedParameters = await saveMachineParametersToOpfs(
interp, interp,
iniFileMachineId, iniFileMachineId,
@@ -9848,26 +9856,39 @@
verifyOpfsSaveResult( verifyOpfsSaveResult(
"opfs_save_ini_named_parameter_file", "opfs_save_ini_named_parameter_file",
savedIniNamedParameters, savedIniNamedParameters,
opfsParameterResultLinesForValues("save", iniNamedParameterExpectedValues), iniNamedSaveParameterResultLines,
);
const iniNamedSavedParameterTextLines = opfsSavedParameterPlainTextLinesForValues(
"\t",
iniNamedParameterReadbackValues,
); );
await verifyOpfsReadback( await verifyOpfsReadback(
"opfs_saved_ini_named_parameter_text", "opfs_saved_ini_named_parameter_text",
loadedIniFileSession.parameters.opfsPath, loadedIniFileSession.parameters.opfsPath,
opfsSavedParameterPlainTextLinesForValues("\t", iniNamedParameterReadbackValues), iniNamedSavedParameterTextLines,
);
const iniNamedSavedParameterBackupTextLines = opfsSavedParameterPlainTextLinesForValues(
" ",
iniNamedInitialParameterValues,
); );
await verifyOpfsReadback( await verifyOpfsReadback(
"opfs_saved_ini_named_parameter_backup_text", "opfs_saved_ini_named_parameter_backup_text",
savedIniNamedParameters.backupOpfsPath, savedIniNamedParameters.backupOpfsPath,
opfsSavedParameterPlainTextLinesForValues(" ", iniNamedInitialParameterValues), iniNamedSavedParameterBackupTextLines,
);
const iniNamedLoadToolTableResultLines = opfsToolTableResultLinesForTool(
"load",
iniNamedToolTable,
[
`tool_1.z=${iniNamedToolTable.zOffset}`,
`tool_1.diameter=${iniNamedToolTable.diameter}`,
`tool_1.comment=${iniNamedToolTable.loadComment}`,
],
); );
verifyOpfsLoadResult( verifyOpfsLoadResult(
"opfs_load_ini_named_tool_table", "opfs_load_ini_named_tool_table",
loadedIniFileSession.toolTable, loadedIniFileSession.toolTable,
opfsToolTableResultLinesForTool("load", iniNamedToolTable, [ iniNamedLoadToolTableResultLines,
`tool_1.z=${iniNamedToolTable.zOffset}`,
`tool_1.diameter=${iniNamedToolTable.diameter}`,
`tool_1.comment=${iniNamedToolTable.loadComment}`,
]),
); );
const savedIniNamedToolTable = await saveMachineToolTableToOpfs( const savedIniNamedToolTable = await saveMachineToolTableToOpfs(
interp, interp,
@@ -9881,10 +9902,14 @@
iniFileToolTableFilename, iniFileToolTableFilename,
iniFileToolTableWasmPath, iniFileToolTableWasmPath,
); );
const iniNamedSaveToolTableResultLines = opfsToolTableResultLinesForTool(
"save",
iniNamedToolTable,
);
verifyOpfsSaveResult( verifyOpfsSaveResult(
"opfs_save_ini_named_tool_table", "opfs_save_ini_named_tool_table",
savedIniNamedToolTable, savedIniNamedToolTable,
opfsToolTableResultLinesForTool("save", iniNamedToolTable), iniNamedSaveToolTableResultLines,
); );
const iniNamedSavedToolTableTextLines = opfsToolTableTextLinesForTool(iniNamedToolTable); const iniNamedSavedToolTableTextLines = opfsToolTableTextLinesForTool(iniNamedToolTable);
await verifyOpfsReadback( await verifyOpfsReadback(
@@ -9960,19 +9985,28 @@
explicitToolTableWasmPath, explicitToolTableWasmPath,
), ),
); );
const explicitRestoreParameterResultLines = opfsParameterResultLinesForValues(
"restore",
explicitInitialParameterValues,
);
verifyOpfsLoadResult( verifyOpfsLoadResult(
"opfs_load_explicit_parameter_file", "opfs_load_explicit_parameter_file",
loadedIniOverrideSession.parameters, loadedIniOverrideSession.parameters,
opfsParameterResultLinesForValues("restore", explicitInitialParameterValues), explicitRestoreParameterResultLines,
);
const explicitLoadToolTableResultLines = opfsToolTableResultLinesForTool(
"load",
explicitToolTable,
[
`tool_1.z=${explicitToolTable.zOffset}`,
`tool_1.diameter=${explicitToolTable.diameter}`,
`tool_1.comment=${explicitToolTable.loadComment}`,
],
); );
verifyOpfsLoadResult( verifyOpfsLoadResult(
"opfs_load_explicit_tool_table", "opfs_load_explicit_tool_table",
loadedIniOverrideSession.toolTable, loadedIniOverrideSession.toolTable,
opfsToolTableResultLinesForTool("load", explicitToolTable, [ explicitLoadToolTableResultLines,
`tool_1.z=${explicitToolTable.zOffset}`,
`tool_1.diameter=${explicitToolTable.diameter}`,
`tool_1.comment=${explicitToolTable.loadComment}`,
]),
); );
const explicitParameterValues = opfsParameterValueSet(51.25, 102.5, 7.5, 202); const explicitParameterValues = opfsParameterValueSet(51.25, 102.5, 7.5, 202);
const explicitParameterExpectedValues = opfsParameterValueSet("51.25", "102.5", "7.5", "202"); const explicitParameterExpectedValues = opfsParameterValueSet("51.25", "102.5", "7.5", "202");
@@ -9995,20 +10029,32 @@
explicitParameterFilename, explicitParameterFilename,
explicitParameterWasmPath, explicitParameterWasmPath,
); );
const explicitSaveParameterResultLines = opfsParameterResultLinesForValues(
"save",
explicitParameterExpectedValues,
);
verifyOpfsSaveResult( verifyOpfsSaveResult(
"opfs_save_explicit_parameter_file", "opfs_save_explicit_parameter_file",
savedExplicitParameters, savedExplicitParameters,
opfsParameterResultLinesForValues("save", explicitParameterExpectedValues), explicitSaveParameterResultLines,
);
const explicitSavedParameterTextLines = opfsSavedParameterPlainTextLinesForValues(
"\t",
explicitParameterReadbackValues,
); );
await verifyOpfsReadback( await verifyOpfsReadback(
"opfs_saved_explicit_parameter_text", "opfs_saved_explicit_parameter_text",
loadedIniOverrideSession.parameters.opfsPath, loadedIniOverrideSession.parameters.opfsPath,
opfsSavedParameterPlainTextLinesForValues("\t", explicitParameterReadbackValues), explicitSavedParameterTextLines,
);
const explicitSavedParameterBackupTextLines = opfsSavedParameterPlainTextLinesForValues(
" ",
explicitInitialParameterValues,
); );
await verifyOpfsReadback( await verifyOpfsReadback(
"opfs_saved_explicit_parameter_backup_text", "opfs_saved_explicit_parameter_backup_text",
savedExplicitParameters.backupOpfsPath, savedExplicitParameters.backupOpfsPath,
opfsSavedParameterPlainTextLinesForValues(" ", explicitInitialParameterValues), explicitSavedParameterBackupTextLines,
); );
const savedExplicitToolTable = await saveMachineToolTableToOpfs( const savedExplicitToolTable = await saveMachineToolTableToOpfs(
interp, interp,
@@ -10022,10 +10068,14 @@
explicitToolTableFilename, explicitToolTableFilename,
explicitToolTableWasmPath, explicitToolTableWasmPath,
); );
const explicitSaveToolTableResultLines = opfsToolTableResultLinesForTool(
"save",
explicitToolTable,
);
verifyOpfsSaveResult( verifyOpfsSaveResult(
"opfs_save_explicit_tool_table", "opfs_save_explicit_tool_table",
savedExplicitToolTable, savedExplicitToolTable,
opfsToolTableResultLinesForTool("save", explicitToolTable), explicitSaveToolTableResultLines,
); );
const explicitSavedToolTableTextLines = opfsToolTableTextLinesForTool(explicitToolTable); const explicitSavedToolTableTextLines = opfsToolTableTextLinesForTool(explicitToolTable);
await verifyOpfsReadback( await verifyOpfsReadback(