interp: regression test for correct unwind after failed external oword procedure

This test requires rs274 inifile support (-i <inifile>).
This commit is contained in:
Michael Haberler 2011-09-26 07:20:00 +02:00
parent 786ee724e4
commit bc1fd41ece
7 changed files with 50 additions and 0 deletions

View file

@ -0,0 +1 @@
Tests for proper unwind in a failed external o-word procedure.

View file

@ -0,0 +1,14 @@
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..... MESSAGE(" pre divide-by-zero")
N..... MESSAGE(" pre divide-by-zero")
N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_XY_ROTATION(0.0000)
N..... SET_FEED_MODE(0)
N..... SET_FEED_RATE(0.0000)
N..... STOP_SPINDLE_TURNING()
N..... SET_SPINDLE_MODE(0.0000)
N..... PROGRAM_END()

View file

@ -0,0 +1,16 @@
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..... MESSAGE(" pre divide-by-zero")
N..... MESSAGE(" post divide-by-zero")
N..... MESSAGE(" pre divide-by-zero")
N..... MESSAGE(" post divide-by-zero")
N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_XY_ROTATION(0.0000)
N..... SET_FEED_MODE(0)
N..... SET_FEED_RATE(0.0000)
N..... STOP_SPINDLE_TURNING()
N..... SET_SPINDLE_MODE(0.0000)
N..... PROGRAM_END()

View file

@ -0,0 +1,9 @@
(debug, pre <fail>)
o<fail> sub
(debug, pre divide-by-zero)
#100 = [1/0]
(debug, post divide-by-zero)
o<fail> endsub
(debug, post <fail>)
m2

View file

@ -0,0 +1,4 @@
[RS274NGC]
SUBROUTINE_PATH=.

View file

@ -0,0 +1,3 @@
o<fail> call
o<fail> call
M2

View file

@ -0,0 +1,3 @@
#!/bin/bash
rs274 -n 0 -i test.ini -g test.ngc | awk '{$1=""; print}'
exit ${PIPESTATUS[0]}