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%%|*}