Expand LinuxCNC interpreter regression coverage

This commit is contained in:
2026-06-09 14:54:54 +08:00
parent 50757e45ba
commit 5bd8f12872
143 changed files with 10895 additions and 219 deletions

View File

@@ -0,0 +1,104 @@
N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_XY_ROTATION(0.0000)
N..... SET_FEED_REFERENCE(CANON_XYZ)
N..... ON_RESET()
N..... SET_FEED_RATE(400.0000)
N..... SELECT_PLANE(CANON_PLANE_XZ)
N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
N..... COMMENT("interpreter: continuing to use same coordinate system")
N..... SELECT_TOOL(2)
N..... STOP_SPINDLE_TURNING(0)
N..... CHANGE_TOOL()
N..... COMMENT("interpreter: cutter radius compensation off")
N..... USE_TOOL_LENGTH_OFFSET(0.0000 0.0000 2.5400, 0.0000 0.0000 0.0000, 0.0000 0.0000 0.0000)
N..... SET_SPINDLE_SPEED(0, 100.0000)
N..... START_SPINDLE_CLOCKWISE(0)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, 0.1000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, 0.1000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -3.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -3.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -2.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -2.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -3.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -6.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -6.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -5.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -5.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -6.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -9.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -9.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -8.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -8.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -9.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -12.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -12.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -11.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -11.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -12.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -15.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -15.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -14.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -14.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -15.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -18.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -18.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -17.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -17.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -18.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -21.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -21.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -20.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -20.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -21.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -24.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -24.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -23.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -23.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -24.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -27.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -27.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -26.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -26.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -27.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -30.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -30.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -29.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -29.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -30.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -33.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -33.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -32.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -32.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -33.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -36.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -36.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -35.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -35.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -36.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -39.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -39.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(99.9000, 0.0000, -38.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.1000, 0.0000, -38.9000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -39.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(50.0000, 0.0000, -40.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, -39.9990, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_FEED(100.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_XY_ROTATION(0.0000)
N..... SELECT_PLANE(CANON_PLANE_XY)
N..... SET_FEED_MODE(0, 0)
N..... SET_FEED_RATE(0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... SET_SPINDLE_MODE(0 0.0000)
N..... PALLET_SHUTTLE()
N..... PROGRAM_END()
N..... ON_RESET()
N..... ON_RESET()

View File

@@ -0,0 +1,10 @@
G54 G18 G21 F400
G40 T2M6G43
M3 S100
o100 sub
G1 X50 Z-40F10000
X100 Z-39.999
o100 end sub
G72 Q100 X50 Z0 I3 R0.1
G0 X0 Z0
M30

View File

@@ -0,0 +1,22 @@
#!/bin/bash
#
# Test working G71, derived from problem reported in
# https://github.com/LinuxCNC/linuxcnc/issues/707.
rs274 -g g72-iterations-present.ngc | awk '{$1=""; print}' > result &
pid=$!
# Give it 10 seconds to complete
count=10
while [ 0 -lt $count ] && kill -0 $pid > /dev/null 2>&1 ; do
sleep 1
count=$((count - 1))
done
if kill -0 $pid > /dev/null 2>&1; then
kill -9 $pid
echo "E: g71-iterations-present.ngc program seem to be stuck, killing"
exit 1
fi
exit 0