diff --git a/text9.txt b/text9.txt index 3013956..5977cbc 100644 --- a/text9.txt +++ b/text9.txt @@ -2378,3 +2378,59 @@ host_wasm_opfs_browser_smokes=ok machine/session path assertions 或 remaining OPFS readback groups 是否还能进一步局部 常量化或复用 existing helpers;只改测试胶水,不改变输入、OPFS path、WASM path 字符串 或保存/读取行为。 + +四十六、2026-06-14 继续执行记录:browser invalid INI reject groups guard + +本轮按上一条下一步建议继续收敛 invalid INI session reject groups,范围仍只触及 +`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。 + +完成内容: + +- 新增 `invalidParameterFileMachineId` 局部常量,承载 invalid parameter file session + machine id; +- 新增 `invalidParameterFileIniLines` 局部常量,承载 invalid parameter file INI lines; +- 新增 `invalidParameterFileErrorPattern` 局部常量,承载 invalid parameter file error + pattern; +- 新增 `invalidToolTableMachineId` 局部常量,承载 invalid tool-table session machine id; +- 新增 `invalidToolTableIniLines` 局部常量,承载 invalid tool-table INI lines; +- 新增 `invalidToolTableErrorPattern` 局部常量,承载 invalid tool-table error pattern; +- invalid parameter file 与 invalid tool-table reject 断言改为复用上述 input/error + groups; +- 保持 invalid INI expected error 文本、machine id、INI section、INI line、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。优先扫描 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 502678b..b047d1c 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -10084,30 +10084,36 @@ explicitSavedToolTableTextLines, ); + const invalidParameterFileMachineId = "browser-invalid-param-file-session"; + const invalidParameterFileIniLines = opfsInvalidIniLines( + invalidParameterFileMachineId, + "RS274NGC", + "PARAMETER_FILE = ../escape.var", + ); + const invalidParameterFileErrorPattern = /Invalid parameter filename/; await verifyOpfsInvalidIniSessionRejects( "opfs_reject_invalid_ini_parameter_file", interp, ini, - "browser-invalid-param-file-session", - opfsInvalidIniLines( - "browser-invalid-param-file-session", - "RS274NGC", - "PARAMETER_FILE = ../escape.var", - ), - /Invalid parameter filename/, + invalidParameterFileMachineId, + invalidParameterFileIniLines, + invalidParameterFileErrorPattern, ); + const invalidToolTableMachineId = "browser-invalid-tool-file-session"; + const invalidToolTableIniLines = opfsInvalidIniLines( + invalidToolTableMachineId, + "EMCIO", + "TOOL_TABLE = nested/tool.tbl", + ); + const invalidToolTableErrorPattern = /Invalid tool table filename/; await verifyOpfsInvalidIniSessionRejects( "opfs_reject_invalid_ini_tool_table", interp, ini, - "browser-invalid-tool-file-session", - opfsInvalidIniLines( - "browser-invalid-tool-file-session", - "EMCIO", - "TOOL_TABLE = nested/tool.tbl", - ), - /Invalid tool table filename/, + invalidToolTableMachineId, + invalidToolTableIniLines, + invalidToolTableErrorPattern, ); status.textContent = "browser_interp_smoke=ok";