Add LinuxCNC G10 L20 coordinate regression
This commit is contained in:
@@ -8,7 +8,9 @@ cxx=${CXX:-g++}
|
||||
build_dir=${TMPDIR:-/tmp}/cnc_sim_native
|
||||
mkdir -p "$build_dir"
|
||||
var_file="$build_dir/rs274ngc.var"
|
||||
cp "$linuxcnc_root/tests/halui/jogging/sim.var" "$var_file"
|
||||
base_var_file="$build_dir/rs274ngc-base.var"
|
||||
cp "$linuxcnc_root/tests/halui/jogging/sim.var" "$base_var_file"
|
||||
cp "$base_var_file" "$var_file"
|
||||
|
||||
"$cxx" -std=c++17 \
|
||||
$(python3.13-config --includes 2>/dev/null || python3-config --includes) \
|
||||
@@ -36,7 +38,10 @@ CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linux
|
||||
CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/basic_mill.ngc >/tmp/cnc_sim_linuxcnc_basic_mill.json
|
||||
CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_rtcp_controls.ngc >/tmp/cnc_sim_linuxcnc_rtcp_controls.json
|
||||
CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_canned_cycle.ngc >/tmp/cnc_sim_linuxcnc_canned_cycle.json
|
||||
cp "$base_var_file" "$var_file"
|
||||
CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_coordinate_offsets.ngc >/tmp/cnc_sim_linuxcnc_coordinate_offsets.json
|
||||
cp "$base_var_file" "$var_file"
|
||||
CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_coordinate_l20.ngc >/tmp/cnc_sim_linuxcnc_coordinate_l20.json
|
||||
python3 - <<'PY'
|
||||
import json
|
||||
from pathlib import Path
|
||||
@@ -102,6 +107,20 @@ if not any(
|
||||
raise SystemExit("missing G92.1 clear offset event")
|
||||
if not any(event["type"] == "program-end" and event["line"] == 5 for event in coords):
|
||||
raise SystemExit("missing coordinate program end line number")
|
||||
|
||||
l20 = json.loads(Path("/tmp/cnc_sim_linuxcnc_coordinate_l20.json").read_text())
|
||||
if not any(
|
||||
event["type"] == "set-g5x-offset" and
|
||||
event["line"] == 4 and
|
||||
event["tool"] == 2 and
|
||||
event["start"]["x"] == 4 and
|
||||
event["start"]["y"] == 4 and
|
||||
event["start"]["z"] == 4
|
||||
for event in l20
|
||||
):
|
||||
raise SystemExit("missing G10 L20 P2 offset event after G55 selection")
|
||||
if not any(event["type"] == "program-end" and event["line"] == 5 for event in l20):
|
||||
raise SystemExit("missing G10 L20 program end line number")
|
||||
PY
|
||||
|
||||
echo "linuxcnc rs274 native smoke passed"
|
||||
@@ -110,3 +129,4 @@ echo "dumped /tmp/cnc_sim_linuxcnc_basic_mill.json"
|
||||
echo "dumped /tmp/cnc_sim_linuxcnc_rtcp_controls.json"
|
||||
echo "dumped /tmp/cnc_sim_linuxcnc_canned_cycle.json"
|
||||
echo "dumped /tmp/cnc_sim_linuxcnc_coordinate_offsets.json"
|
||||
echo "dumped /tmp/cnc_sim_linuxcnc_coordinate_l20.json"
|
||||
|
||||
Reference in New Issue
Block a user