增加G1零进给错误fixture验证

结论:新增 g1_zero_feed 负向 fixture,固定 G1 在 feed rate 为 0 时返回 INTERP_ERROR=5、输出 LinuxCNC 对应错误文本、不产生 STRAIGHT_FEED,且失败前不更新当前位置和 #5420/#5421/#5422。检查:git diff --check 通过;wasm-port/tests/native/verify_native_probes.sh 通过。
This commit is contained in:
cnc
2026-06-06 23:03:32 +08:00
parent 7d71e3bc6d
commit 15b04e8758
5 changed files with 57 additions and 2 deletions

View File

@@ -365,6 +365,11 @@ Current verified progress:
current-position parameter visibility for `#5420`, `#5421`, and `#5422`.
The parameter source basis is LinuxCNC
`interp_parameter_def.hh` and `interp_namedparams.cc`.
- `tests/fixtures/gcode_errors/g1_zero_feed.ngc` and
`tests/fixtures/canon_errors/g1_zero_feed.expected` pin the negative
`G1` zero-feed case. The source basis is LinuxCNC
`interp_convert.cc::convert_straight()` and
`rs274ngc_return.hh::NCE_CANNOT_DO_G1_WITH_ZERO_FEED_RATE`.
- This proves the current extracted interpreter slice can parse and execute a
simple traverse and feed move through a standalone canonical event sink.
@@ -667,7 +672,7 @@ traverse path:
1. replace the temporary minimal `convert_g()` implementation with thin
wrappers around more vendored interpreter conversion code,
2. add a negative fixture for `G1` without feed rate to start pinning error
semantics,
2. add `_x`/`_y`/`_z` named parameter fixture coverage and align it with
`#5420`/`#5421`/`#5422`,
3. keep all source changes inside `wasm-port/` and leave `../linuxcnc/`
read-only.