From e778a37fdb24004d8a5c7c2e4bc3a4a5b94f2d3d Mon Sep 17 00:00:00 2001 From: cnc Date: Wed, 3 Jun 2026 10:17:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=82=E8=80=83=E6=89=80=E6=9C=89=E5=88=86?= =?UTF-8?q?=E7=BB=84=EF=BC=9A=E8=A1=A5=20native=20numeric=20O-word=20sourc?= =?UTF-8?q?e=20=E8=A6=86=E7=9B=96=EF=BC=8C=E6=B5=8B=E8=AF=95=E9=80=9A?= =?UTF-8?q?=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test-linuxcnc-rs274-native.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test-linuxcnc-rs274-native.sh b/test-linuxcnc-rs274-native.sh index 9201db4..0e76828 100755 --- a/test-linuxcnc-rs274-native.sh +++ b/test-linuxcnc-rs274-native.sh @@ -781,7 +781,10 @@ for case in "${oword_reader_error_cases[@]}"; do done # Source basis: LinuxCNC src/emc/rs274ngc/interp_o_word.cc # convert_control_functions() rejects unmatched, duplicate, and -# out-of-context O-word control labels during execution. +# out-of-context O-word control labels during execution. control_save_offset() +# rejects numbered subroutine definitions encountered again in the main file, +# and interp_read.cc read_text() reports EOF when a file ends without a percent +# sign or M2/M30 after returning to the main program. oword_execution_error_cases=( "linuxcnc_oword_endsub_without_sub_error|not in a subroutine definition" "linuxcnc_oword_return_without_sub_error|not in a subroutine definition" @@ -802,6 +805,8 @@ oword_execution_error_cases=( "linuxcnc_oword_sub_requires_endsub_error|'O.... endsub' or 'O.... return' must follow 'O.... sub'" "linuxcnc_oword_too_many_call_levels_error|Too many subroutine levels" "linuxcnc_nested_subroutine_definition_error|Nested subroutine definition" + "linuxcnc_numeric_oword_main_eof_error|File ended with no percent sign" + "linuxcnc_numeric_oword_sub_illegal_location|found in illegal location" ) for case in "${oword_execution_error_cases[@]}"; do fixture=${case%%|*}