继续按 align-linuxcnc 约束:补 unary 错误源码回归

This commit is contained in:
cnc
2026-06-02 16:01:55 +08:00
parent dd4c62fce6
commit 3f5c3faf25
4 changed files with 24 additions and 1 deletions

View File

@@ -608,6 +608,25 @@ if CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" \
fi
grep -q "Left bracket missing after slash with atan" \
"$output_dir/cnc_sim_linuxcnc_source_atan_missing_bracket_error.err"
# Source basis: LinuxCNC src/emc/rs274ngc/interp_read.cc
# read_operation_unary() selects known unary operations, and read_unary()
# requires the operation name to be followed by a left bracket.
if CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" \
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_unary_missing_bracket_error.ngc \
>"$output_dir/cnc_sim_linuxcnc_source_unary_missing_bracket_error.json" 2>"$output_dir/cnc_sim_linuxcnc_source_unary_missing_bracket_error.err"; then
echo "expected linuxcnc_unary_missing_bracket_error.ngc to fail" >&2
exit 1
fi
grep -q "Left bracket missing after unary operation name" \
"$output_dir/cnc_sim_linuxcnc_source_unary_missing_bracket_error.err"
if CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" \
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_unary_unknown_word_error.ngc \
>"$output_dir/cnc_sim_linuxcnc_source_unary_unknown_word_error.json" 2>"$output_dir/cnc_sim_linuxcnc_source_unary_unknown_word_error.err"; then
echo "expected linuxcnc_unary_unknown_word_error.ngc to fail" >&2
exit 1
fi
grep -q "Unknown word starting with a" \
"$output_dir/cnc_sim_linuxcnc_source_unary_unknown_word_error.err"
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" \
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_value_returned.ngc \
>"$output_dir/cnc_sim_linuxcnc_source_value_returned.json"