summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Haberler <git@mah.priv.at>2011-06-05 21:55:01 +0200
committerMichael Haberler <git@mah.priv.at>2011-10-28 08:25:40 +0200
commit1e3b55e815851534027d6ce2dfe4ae29ec224fb6 (patch)
treeb71bfee77ace7adecaa2951ae77e95ac29d91559
parentf8b785f4bb2781f3b5ecabb6f1c0fa4c1f3b8c15 (diff)
downloadlinuxcnc-1e3b55e815851534027d6ce2dfe4ae29ec224fb6.tar.gz
linuxcnc-1e3b55e815851534027d6ce2dfe4ae29ec224fb6.zip
interp/remap: add test for failed remap NGC body
-rw-r--r--tests/remap/fail/body-ngc/README1
-rw-r--r--tests/remap/fail/body-ngc/expected18
-rw-r--r--tests/remap/fail/body-ngc/rm400.ngc6
-rw-r--r--tests/remap/fail/body-ngc/test.ini8
-rw-r--r--tests/remap/fail/body-ngc/test.ngc4
-rwxr-xr-xtests/remap/fail/body-ngc/test.sh3
6 files changed, 40 insertions, 0 deletions
diff --git a/tests/remap/fail/body-ngc/README b/tests/remap/fail/body-ngc/README
new file mode 100644
index 000000000..c28025f5e
--- /dev/null
+++ b/tests/remap/fail/body-ngc/README
@@ -0,0 +1 @@
+Exercise failed remap NGC procedure - must properly return to top level
diff --git a/tests/remap/fail/body-ngc/expected b/tests/remap/fail/body-ngc/expected
new file mode 100644
index 000000000..1c6f4bf12
--- /dev/null
+++ b/tests/remap/fail/body-ngc/expected
@@ -0,0 +1,18 @@
+executing
+Attempt to divide by zero
+#100 = [1/0]
+ 1 N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
+ 2 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
+ 3 N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
+ 4 N..... SET_XY_ROTATION(0.0000)
+ 5 N..... SET_FEED_REFERENCE(CANON_XYZ)
+ 6 N..... MESSAGE(" before M400: call_level= 0.000000 remap_level=0.000000")
+ 7 N..... MESSAGE(" in rm400: call_level= 1.000000 remap_level=1.000000")
+ 8 N..... MESSAGE(" after failed M400: call_level= 0.000000 remap_level=0.000000")
+ 9 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
+ 10 N..... SET_XY_ROTATION(0.0000)
+ 11 N..... SET_FEED_MODE(0)
+ 12 N..... SET_FEED_RATE(0.0000)
+ 13 N..... STOP_SPINDLE_TURNING()
+ 14 N..... SET_SPINDLE_MODE(0.0000)
+ 15 N..... PROGRAM_END()
diff --git a/tests/remap/fail/body-ngc/rm400.ngc b/tests/remap/fail/body-ngc/rm400.ngc
new file mode 100644
index 000000000..1ffac1c0a
--- /dev/null
+++ b/tests/remap/fail/body-ngc/rm400.ngc
@@ -0,0 +1,6 @@
+o<rm400> sub
+(debug, in rm400: call_level= #<_call_level> remap_level=#<_remap_level>)
+#100 = [1/0]
+o<rm400> endsub
+m2
+%
diff --git a/tests/remap/fail/body-ngc/test.ini b/tests/remap/fail/body-ngc/test.ini
new file mode 100644
index 000000000..19d93cd1b
--- /dev/null
+++ b/tests/remap/fail/body-ngc/test.ini
@@ -0,0 +1,8 @@
+[EMC]
+DEBUG=0
+LOG_LEVEL=0
+
+[RS274NGC]
+SUBROUTINE_PATH = .
+
+REMAP=M400 modalgroup=5 argspec=- ngc=rm400
diff --git a/tests/remap/fail/body-ngc/test.ngc b/tests/remap/fail/body-ngc/test.ngc
new file mode 100644
index 000000000..138d7f4fb
--- /dev/null
+++ b/tests/remap/fail/body-ngc/test.ngc
@@ -0,0 +1,4 @@
+(debug, before M400: call_level= #<_call_level> remap_level=#<_remap_level>)
+M400
+(debug, after failed M400: call_level= #<_call_level> remap_level=#<_remap_level>)
+M2
diff --git a/tests/remap/fail/body-ngc/test.sh b/tests/remap/fail/body-ngc/test.sh
new file mode 100755
index 000000000..77a112a15
--- /dev/null
+++ b/tests/remap/fail/body-ngc/test.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+rs274 -i test.ini -n 0 -g test.ngc 2>&1
+exit ${PIPESTATUS[0]}