From c28b629ff660822ef9080901acf577cc412d389b Mon Sep 17 00:00:00 2001 From: wangdequan Date: Mon, 8 Jun 2026 05:42:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E5=BB=BA=E8=AE=AE=EF=BC=8C=E7=BB=A7?= =?UTF-8?q?=E7=BB=AD=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 结论:扩大 WASM 解释器负向夹具和文件执行路径验证,聚合 host/WASM/OPFS/browser smoke 已通过。 --- wasm-port/docs/compatibility-validation.md | 15 ++++++----- .../tests/wasm/node/verify_interp_wasm.mjs | 26 +++++++++++++++++++ 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/wasm-port/docs/compatibility-validation.md b/wasm-port/docs/compatibility-validation.md index 501e4b2..fb1c62a 100644 --- a/wasm-port/docs/compatibility-validation.md +++ b/wasm-port/docs/compatibility-validation.md @@ -203,12 +203,15 @@ for `minimal_linear`, `arc_semantics`, `length_units`, `modal_incremental`, `nurbs_g5_semantics`, `nurbs_g6_semantics`, `state_tag_motion`, `canon_runtime_edges`, `program_end_modal_reset`, and `namedparam_semantics`, plus the `g1_zero_feed`, `arc_radius_mismatch`, `arc_zero_radius`, -`g53_incremental`, `tool_not_found`, and `tool_length_offset_not_found` -negative fixtures. The WASM interpreter file path additionally covers -`file_open_reset`, `percent_file_finish`, and `oword_subroutine`. OPFS -validation is limited to the JavaScript host-boundary adapter plus the INI -browser smoke harness. Full browser coverage, full SDK coverage, and full -machine-session validation remain future work. +`cutter_comp_plane_change`, `g53_incremental`, `namedparam_readonly`, +`numbered_param_readonly`, `tool_not_found`, and +`tool_length_offset_not_found` negative fixtures. The WASM interpreter file +path additionally covers the same canonical-event fixture group except +`namedparam_semantics` and `position_params`, plus `file_open_reset`, +`percent_file_finish`, and `oword_subroutine`. OPFS validation is limited to +the JavaScript host-boundary adapter plus the INI browser smoke harness. Full +browser coverage, full SDK coverage, and full machine-session validation remain +future work. The current fixture expectations validate standalone behavior against both the vendored LinuxCNC source path and an upstream `rs274` side-by-side baseline for diff --git a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs index 64b6a91..f366f21 100644 --- a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs +++ b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs @@ -167,7 +167,10 @@ const errorFixtureNames = [ "g1_zero_feed", "arc_radius_mismatch", "arc_zero_radius", + "cutter_comp_plane_change", "g53_incremental", + "namedparam_readonly", + "numbered_param_readonly", "tool_not_found", "tool_length_offset_not_found", ]; @@ -186,6 +189,29 @@ for (const fixtureName of errorFixtureNames) { } const fileFixtureNames = [ + "minimal_linear", + "arc_semantics", + "length_units", + "modal_incremental", + "plane_selection", + "coordinate_offsets", + "g53_machine_coordinates", + "feed_control_modes", + "probe_semantics", + "spindle_orient", + "comment_logging", + "numbered_params", + "tool_semantics", + "tool_table_setup", + "tool_reload", + "canned_cycles", + "cutter_comp_motion", + "threading_sync", + "nurbs_g5_semantics", + "nurbs_g6_semantics", + "state_tag_motion", + "canon_runtime_edges", + "program_end_modal_reset", "file_open_reset", "percent_file_finish", "oword_subroutine",