From b699828d740ca0ffdafd70c4425263e326a3e24d Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sun, 14 Jun 2026 12:55:27 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E6=8E=A8=E8=BF=9B=E6=B5=8F?= =?UTF-8?q?=E8=A7=88=E5=99=A8=20custom=20session=20=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E8=A1=A8=E7=BB=93=E6=9E=9C=E7=BB=84=20guard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text9.txt | 65 ++++++++++++++++ wasm-port/tests/browser/interp_smoke.html | 90 ++++++++++++++++++----- 2 files changed, 135 insertions(+), 20 deletions(-) diff --git a/text9.txt b/text9.txt index 23d5c45..3013956 100644 --- a/text9.txt +++ b/text9.txt @@ -2313,3 +2313,68 @@ host_wasm_opfs_browser_smokes=ok 继续小批量 browser test glue guard。优先扫描 ini-named/explicit session 的参数和 tool-table load/save/result/backing text groups 是否还能进一步局部常量化或复用 existing 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 字符串 +或保存/读取行为。 diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index 11aba9c..502678b 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -9819,10 +9819,14 @@ iniFileToolTableWasmPath, ), ); + const iniNamedRestoreParameterResultLines = opfsParameterResultLinesForValues( + "restore", + iniNamedInitialParameterValues, + ); verifyOpfsLoadResult( "opfs_load_ini_named_parameter_file", loadedIniFileSession.parameters, - opfsParameterResultLinesForValues("restore", iniNamedInitialParameterValues), + iniNamedRestoreParameterResultLines, ); const iniNamedParameterValues = opfsParameterValueSet(33.75, 67.5, 5.25, 199); const iniNamedParameterExpectedValues = opfsParameterValueSet("33.75", "67.5", "5.25", "199"); @@ -9832,6 +9836,10 @@ "5.250000", "199.000000", ); + const iniNamedSaveParameterResultLines = opfsParameterResultLinesForValues( + "save", + iniNamedParameterExpectedValues, + ); const savedIniNamedParameters = await saveMachineParametersToOpfs( interp, iniFileMachineId, @@ -9848,26 +9856,39 @@ verifyOpfsSaveResult( "opfs_save_ini_named_parameter_file", savedIniNamedParameters, - opfsParameterResultLinesForValues("save", iniNamedParameterExpectedValues), + iniNamedSaveParameterResultLines, + ); + const iniNamedSavedParameterTextLines = opfsSavedParameterPlainTextLinesForValues( + "\t", + iniNamedParameterReadbackValues, ); await verifyOpfsReadback( "opfs_saved_ini_named_parameter_text", loadedIniFileSession.parameters.opfsPath, - opfsSavedParameterPlainTextLinesForValues("\t", iniNamedParameterReadbackValues), + iniNamedSavedParameterTextLines, + ); + const iniNamedSavedParameterBackupTextLines = opfsSavedParameterPlainTextLinesForValues( + " ", + iniNamedInitialParameterValues, ); await verifyOpfsReadback( "opfs_saved_ini_named_parameter_backup_text", 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( "opfs_load_ini_named_tool_table", loadedIniFileSession.toolTable, - opfsToolTableResultLinesForTool("load", iniNamedToolTable, [ - `tool_1.z=${iniNamedToolTable.zOffset}`, - `tool_1.diameter=${iniNamedToolTable.diameter}`, - `tool_1.comment=${iniNamedToolTable.loadComment}`, - ]), + iniNamedLoadToolTableResultLines, ); const savedIniNamedToolTable = await saveMachineToolTableToOpfs( interp, @@ -9881,10 +9902,14 @@ iniFileToolTableFilename, iniFileToolTableWasmPath, ); + const iniNamedSaveToolTableResultLines = opfsToolTableResultLinesForTool( + "save", + iniNamedToolTable, + ); verifyOpfsSaveResult( "opfs_save_ini_named_tool_table", savedIniNamedToolTable, - opfsToolTableResultLinesForTool("save", iniNamedToolTable), + iniNamedSaveToolTableResultLines, ); const iniNamedSavedToolTableTextLines = opfsToolTableTextLinesForTool(iniNamedToolTable); await verifyOpfsReadback( @@ -9960,19 +9985,28 @@ explicitToolTableWasmPath, ), ); + const explicitRestoreParameterResultLines = opfsParameterResultLinesForValues( + "restore", + explicitInitialParameterValues, + ); verifyOpfsLoadResult( "opfs_load_explicit_parameter_file", 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( "opfs_load_explicit_tool_table", loadedIniOverrideSession.toolTable, - opfsToolTableResultLinesForTool("load", explicitToolTable, [ - `tool_1.z=${explicitToolTable.zOffset}`, - `tool_1.diameter=${explicitToolTable.diameter}`, - `tool_1.comment=${explicitToolTable.loadComment}`, - ]), + explicitLoadToolTableResultLines, ); const explicitParameterValues = opfsParameterValueSet(51.25, 102.5, 7.5, 202); const explicitParameterExpectedValues = opfsParameterValueSet("51.25", "102.5", "7.5", "202"); @@ -9995,20 +10029,32 @@ explicitParameterFilename, explicitParameterWasmPath, ); + const explicitSaveParameterResultLines = opfsParameterResultLinesForValues( + "save", + explicitParameterExpectedValues, + ); verifyOpfsSaveResult( "opfs_save_explicit_parameter_file", savedExplicitParameters, - opfsParameterResultLinesForValues("save", explicitParameterExpectedValues), + explicitSaveParameterResultLines, + ); + const explicitSavedParameterTextLines = opfsSavedParameterPlainTextLinesForValues( + "\t", + explicitParameterReadbackValues, ); await verifyOpfsReadback( "opfs_saved_explicit_parameter_text", loadedIniOverrideSession.parameters.opfsPath, - opfsSavedParameterPlainTextLinesForValues("\t", explicitParameterReadbackValues), + explicitSavedParameterTextLines, + ); + const explicitSavedParameterBackupTextLines = opfsSavedParameterPlainTextLinesForValues( + " ", + explicitInitialParameterValues, ); await verifyOpfsReadback( "opfs_saved_explicit_parameter_backup_text", savedExplicitParameters.backupOpfsPath, - opfsSavedParameterPlainTextLinesForValues(" ", explicitInitialParameterValues), + explicitSavedParameterBackupTextLines, ); const savedExplicitToolTable = await saveMachineToolTableToOpfs( interp, @@ -10022,10 +10068,14 @@ explicitToolTableFilename, explicitToolTableWasmPath, ); + const explicitSaveToolTableResultLines = opfsToolTableResultLinesForTool( + "save", + explicitToolTable, + ); verifyOpfsSaveResult( "opfs_save_explicit_tool_table", savedExplicitToolTable, - opfsToolTableResultLinesForTool("save", explicitToolTable), + explicitSaveToolTableResultLines, ); const explicitSavedToolTableTextLines = opfsToolTableTextLinesForTool(explicitToolTable); await verifyOpfsReadback(