From 29ee314afb8862d5aed348ca5818e48f117c518b Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sun, 14 Jun 2026 06:59:26 +0800 Subject: [PATCH] Guard browser shared tool-table text helper --- text9.txt | 51 +++++++++++++++++++++++ wasm-port/tests/browser/interp_smoke.html | 12 +++--- 2 files changed, 57 insertions(+), 6 deletions(-) diff --git a/text9.txt b/text9.txt index e2dd0a8..82b6416 100644 --- a/text9.txt +++ b/text9.txt @@ -522,3 +522,54 @@ host_wasm_opfs_browser_smokes=ok 继续小批量 browser test glue guard。优先扫描 direct `browser-interp` session 和 direct generated file block 之间是否还能抽出更小的共享 tool-table helper;只改测试 胶水,不改变输入、OPFS path、WASM path 字符串或保存/读取行为。 + +十二、2026-06-14 继续执行记录:browser shared tool-table text helper guard + +本轮按上一条下一步建议继续收敛 direct `browser-interp` session 与 direct generated +file block 之间的 saved tool-table text helper,范围仍只触及 +`wasm-port/tests/browser/interp_smoke.html` 的 browser test glue。 + +完成内容: + +- 新增 `toolTableTextLines(...)`,统一 tool object 到 saved tool-table readback + expected lines 的拼装; +- `directToolTableTextLines(...)` 改为复用 `toolTableTextLines(...)`; +- `opfsRandomToolTableTextLines(...)` 改为复用 `toolTableTextLines(...)`; +- 保留 direct 与 random wrapper 名称,避免扩大调用点改动; +- 未改变任何 expected 字符串、输入、OPFS path、WASM path 字符串或 save/read/load + 行为; +- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、 + interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。 + +验证已通过: + +```bash +git diff --check +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh +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 +wasm-port/tests/host/verify_host_smokes.sh +``` + +关键输出: + +```text +browser_interp_smoke=ok +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 +host_wasm_opfs_browser_smokes=ok +``` + +下一步建议: + +继续小批量 browser test glue guard。优先扫描 tool-table result helper 是否也能抽出 +不改变输出的 shared `tool.resultLines` flatten helper,或者转向 custom session +tool-table load value groups 的局部常量收敛;只改测试胶水,不改变输入、OPFS path、 +WASM path 字符串或保存/读取行为。 diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index bde79d7..22d1dc8 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -4627,7 +4627,7 @@ ]; } - function directToolTableTextLines(tools) { + function toolTableTextLines(tools) { return tools.flatMap((tool) => [ `T${tool.toolNo}`, `P${tool.pocketNo}`, @@ -4636,6 +4636,10 @@ ]); } + function directToolTableTextLines(tools) { + return toolTableTextLines(tools); + } + function opfsRandomToolTableResultLines(operation, tools) { return [ ...(operation === "load" ? ["tooldata_random_toolchanger=1"] : []), @@ -4645,11 +4649,7 @@ } function opfsRandomToolTableTextLines(tools) { - return tools.flatMap((tool) => [ - `T${tool.toolNo}`, - `P${tool.pocketNo}`, - tool.comment, - ]); + return toolTableTextLines(tools); } function opfsToolTableSeedText(toolNo, pocketNo, zOffset, diameter, comment) {