From 56322115f903017a6a17a8fd8154ad04b08ac1c3 Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sun, 14 Jun 2026 17:57:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A8=E8=BF=9B=20UI=20node=20smoke=20wrappe?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- text10.txt | 56 +++++++++++++++++++ wasm-port/tests/host/verify_host_smokes.sh | 1 + .../tests/ui/node/verify_ui_node_smokes.sh | 8 +++ 3 files changed, 65 insertions(+) create mode 100755 wasm-port/tests/ui/node/verify_ui_node_smokes.sh diff --git a/text10.txt b/text10.txt index 3b48864..b51502d 100644 --- a/text10.txt +++ b/text10.txt @@ -1290,3 +1290,59 @@ host_wasm_opfs_browser_smokes=ok host smoke 或新增统一 UI node smoke wrapper,让这类 UI/API helper 在常规 gate 中自动执行; 仍只覆盖 host/runtime 边界 helper,不触碰 interpreter、OPFS bridge 或 LinuxCNC-owned runtime semantics。 + +十八、2026-06-14 继续执行记录:UI node smoke wrapper + +本轮继续沿 OPFS/session/UI boundary 推进,把 UI/API helper 的 Node smoke 纳入常规 host +gate,避免后续 helper 漂移时只在手动测试中暴露。 + +完成内容: + +- 新增 `wasm-port/tests/ui/node/verify_ui_node_smokes.sh`; +- 统一 wrapper 当前执行: + - `wasm-port/tests/ui/node/verify_ini_panel_run_summary.sh`; +- wrapper 成功输出 `ui_node_smokes=ok`; +- `wasm-port/tests/host/verify_host_smokes.sh` 在 OPFS node smoke 后调用 UI node smoke; +- host smoke 现在会自动覆盖 INI panel run summary 纯 helper; +- 未改变 UI runtime、OPFS bridge、interpreter run API、G-code 文本、canonical-event 输出 + 或 LinuxCNC-owned runtime semantics。 + +验证已通过: + +```bash +git diff --check +wasm-port/tests/ui/node/verify_ui_node_smokes.sh +wasm-port/tests/host/verify_host_smokes.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/opfs/node/verify_file_service.sh +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh +``` + +关键输出: + +```text +ini_panel_run_summary_node_smoke=ok +ui_node_smokes=ok +host_wasm_opfs_browser_smokes=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 +opfs_file_service_node_smoke=ok +browser_ini_opfs_smoke=ok +browser_interp_smoke=ok +``` + +下一步建议: + +继续沿 OPFS/session/UI boundary 推进。优先把 INI panel run summary 的纯 helper 文档化为 +一小段开发者说明,列出 `createRunSummary(...)` 与 `summarizeRunResult(...)` 的输入/输出和 +语义边界,方便后续 SDK/API 或其他 UI panel 复用;保持文档只描述 host/runtime boundary, +不扩展 CNC 语义。 diff --git a/wasm-port/tests/host/verify_host_smokes.sh b/wasm-port/tests/host/verify_host_smokes.sh index c2e8c4c..422c2d3 100755 --- a/wasm-port/tests/host/verify_host_smokes.sh +++ b/wasm-port/tests/host/verify_host_smokes.sh @@ -13,6 +13,7 @@ SKIP_INTERP_BUILD=1 "$ROOT_DIR/tests/wasm/node/verify_sim_configs_inventory_wasm SKIP_INTERP_BUILD=1 "$ROOT_DIR/tests/wasm/node/verify_nc_files_wasm.sh" SKIP_TP_BUILD=1 "$ROOT_DIR/tests/wasm/node/verify_tp_wasm.sh" "$ROOT_DIR/tests/opfs/node/verify_file_service.sh" +"$ROOT_DIR/tests/ui/node/verify_ui_node_smokes.sh" SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 "$ROOT_DIR/tests/browser/verify_ini_panel_browser.sh" SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 "$ROOT_DIR/tests/browser/verify_interp_browser.sh" diff --git a/wasm-port/tests/ui/node/verify_ui_node_smokes.sh b/wasm-port/tests/ui/node/verify_ui_node_smokes.sh new file mode 100755 index 0000000..436cd8c --- /dev/null +++ b/wasm-port/tests/ui/node/verify_ui_node_smokes.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "$0")/../../.." && pwd)" + +"$ROOT_DIR/tests/ui/node/verify_ini_panel_run_summary.sh" + +echo "ui_node_smokes=ok"