diff options
author | Michael Haberler <git@mah.priv.at> | 2011-06-09 13:06:28 +0200 |
---|---|---|
committer | Michael Haberler <git@mah.priv.at> | 2011-10-28 08:25:44 +0200 |
commit | 0d93f31399cd030b06494f0b12600b6e4e23ec6e (patch) | |
tree | 529d16e6abca82fe4d591c2dc0c2b48e8b020501 | |
parent | e2f7f24f5d4704dc1fef61d8717f61b0362ffd63 (diff) | |
download | linuxcnc-0d93f31399cd030b06494f0b12600b6e4e23ec6e.tar.gz linuxcnc-0d93f31399cd030b06494f0b12600b6e4e23ec6e.zip |
commit all remap regression tests
44 files changed, 986 insertions, 0 deletions
diff --git a/tests/remap/fail/args.0/README b/tests/remap/fail/args.0/README new file mode 100644 index 000000000..51718c22e --- /dev/null +++ b/tests/remap/fail/args.0/README @@ -0,0 +1 @@ +Exercise parameter passing to user-defined code diff --git a/tests/remap/fail/args.0/expected b/tests/remap/fail/args.0/expected new file mode 100644 index 000000000..1e4bd0560 --- /dev/null +++ b/tests/remap/fail/args.0/expected @@ -0,0 +1,15 @@ + 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(" M400 call_level= 1.000000 remap_level=1.000000") + N..... MESSAGE(" P word set: 47.110000") + N..... MESSAGE(" Q word set: 8.150000") + 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() diff --git a/tests/remap/fail/args.0/rm400.ngc b/tests/remap/fail/args.0/rm400.ngc new file mode 100644 index 000000000..a1186c245 --- /dev/null +++ b/tests/remap/fail/args.0/rm400.ngc @@ -0,0 +1,18 @@ +o<rm400> sub +(debug, M400 call_level= #<_call_level> remap_level=#<_remap_level>) + +o100 if [EXISTS[#<P>]] + (debug, P word set: #<P>) +o100 else + (debug, P word missing) +o100 endif + +o120 if [EXISTS[#<Q>]] + (debug, Q word set: #<Q>) +o120 else + (debug, Q word missing) +o120 endif + +o<rm400> endsub +m2 +% diff --git a/tests/remap/fail/args.0/test.ini b/tests/remap/fail/args.0/test.ini new file mode 100644 index 000000000..094a2623f --- /dev/null +++ b/tests/remap/fail/args.0/test.ini @@ -0,0 +1,9 @@ +[EMC] +DEBUG=0 +LOG_LEVEL=0 + +[RS274NGC] +SUBROUTINE_PATH = . + +# M405 requires P- Q- and does NOT permit any other words in this block +REMAP=M400 modalgroup=5 argspec=PQ ngc=rm400 diff --git a/tests/remap/fail/args.0/test.ngc b/tests/remap/fail/args.0/test.ngc new file mode 100644 index 000000000..e44e5b100 --- /dev/null +++ b/tests/remap/fail/args.0/test.ngc @@ -0,0 +1,2 @@ +M400 P47.11 Q8.15 +M2 diff --git a/tests/remap/fail/args.0/test.sh b/tests/remap/fail/args.0/test.sh new file mode 100755 index 000000000..65d4d349d --- /dev/null +++ b/tests/remap/fail/args.0/test.sh @@ -0,0 +1,3 @@ +#!/bin/bash +rs274 -i test.ini -g test.ngc | awk '{$1=""; print}' +exit ${PIPESTATUS[0]} diff --git a/tests/remap/fail/args.2/README b/tests/remap/fail/args.2/README new file mode 100644 index 000000000..a4da54744 --- /dev/null +++ b/tests/remap/fail/args.2/README @@ -0,0 +1,3 @@ +Exercise failed parameter passing to user-defined code + +The required Q parameter is missing diff --git a/tests/remap/fail/args.2/expected b/tests/remap/fail/args.2/expected new file mode 100644 index 000000000..ebbe1e3f8 --- /dev/null +++ b/tests/remap/fail/args.2/expected @@ -0,0 +1,15 @@ +executing +user-defined M400: missing: P,Q +M400 R122.25 + 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..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000) + 7 N..... SET_XY_ROTATION(0.0000) + 8 N..... SET_FEED_MODE(0) + 9 N..... SET_FEED_RATE(0.0000) + 10 N..... STOP_SPINDLE_TURNING() + 11 N..... SET_SPINDLE_MODE(0.0000) + 12 N..... PROGRAM_END() diff --git a/tests/remap/fail/args.2/rm400.ngc b/tests/remap/fail/args.2/rm400.ngc new file mode 100644 index 000000000..a1186c245 --- /dev/null +++ b/tests/remap/fail/args.2/rm400.ngc @@ -0,0 +1,18 @@ +o<rm400> sub +(debug, M400 call_level= #<_call_level> remap_level=#<_remap_level>) + +o100 if [EXISTS[#<P>]] + (debug, P word set: #<P>) +o100 else + (debug, P word missing) +o100 endif + +o120 if [EXISTS[#<Q>]] + (debug, Q word set: #<Q>) +o120 else + (debug, Q word missing) +o120 endif + +o<rm400> endsub +m2 +% diff --git a/tests/remap/fail/args.2/test.ini b/tests/remap/fail/args.2/test.ini index 094a2623f..ecd049d5e 100644 --- a/tests/remap/fail/args.2/test.ini +++ b/tests/remap/fail/args.2/test.ini @@ -7,3 +7,4 @@ SUBROUTINE_PATH = . # M405 requires P- Q- and does NOT permit any other words in this block REMAP=M400 modalgroup=5 argspec=PQ ngc=rm400 +- diff --git a/tests/remap/fail/args.2/test.ngc b/tests/remap/fail/args.2/test.ngc new file mode 100644 index 000000000..f1627afa2 --- /dev/null +++ b/tests/remap/fail/args.2/test.ngc @@ -0,0 +1,2 @@ +M400 R122.25 +M2 diff --git a/tests/remap/fail/args.2/test.sh b/tests/remap/fail/args.2/test.sh new file mode 100755 index 000000000..77a112a15 --- /dev/null +++ b/tests/remap/fail/args.2/test.sh @@ -0,0 +1,3 @@ +#!/bin/bash +rs274 -i test.ini -n 0 -g test.ngc 2>&1 +exit ${PIPESTATUS[0]} diff --git a/tests/remap/fail/body-py/README b/tests/remap/fail/body-py/README new file mode 100644 index 000000000..041c6b194 --- /dev/null +++ b/tests/remap/fail/body-py/README @@ -0,0 +1,3 @@ +Exercise failed remap NGC procedure + +must properly return to top level, convey error text diff --git a/tests/remap/fail/body-py/expected b/tests/remap/fail/body-py/expected new file mode 100644 index 000000000..307ab3c45 --- /dev/null +++ b/tests/remap/fail/body-py/expected @@ -0,0 +1,17 @@ +executing +A failed Python remap handler returning INTERP_ERROR +O <interp_error> call + 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(" after failed M400: call_level= 0.000000 remap_level=0.000000") + 8 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000) + 9 N..... SET_XY_ROTATION(0.0000) + 10 N..... SET_FEED_MODE(0) + 11 N..... SET_FEED_RATE(0.0000) + 12 N..... STOP_SPINDLE_TURNING() + 13 N..... SET_SPINDLE_MODE(0.0000) + 14 N..... PROGRAM_END() diff --git a/tests/remap/fail/body-py/sim.var b/tests/remap/fail/body-py/sim.var new file mode 100644 index 000000000..177637776 --- /dev/null +++ b/tests/remap/fail/body-py/sim.var @@ -0,0 +1,119 @@ +5161 0.000000 +5162 0.000000 +5163 0.000000 +5164 0.000000 +5165 0.000000 +5166 0.000000 +5167 0.000000 +5168 0.000000 +5169 0.000000 +5181 0.000000 +5182 0.000000 +5183 0.000000 +5184 0.000000 +5185 0.000000 +5186 0.000000 +5187 0.000000 +5188 0.000000 +5189 0.000000 +5210 0.000000 +5211 0.000000 +5212 0.000000 +5213 0.000000 +5214 0.000000 +5215 0.000000 +5216 0.000000 +5217 0.000000 +5218 0.000000 +5219 0.000000 +5220 1.000000 +5221 0.000000 +5222 0.000000 +5223 0.000000 +5224 0.000000 +5225 0.000000 +5226 0.000000 +5227 0.000000 +5228 0.000000 +5229 0.000000 +5230 0.000000 +5241 0.000000 +5242 0.000000 +5243 0.000000 +5244 0.000000 +5245 0.000000 +5246 0.000000 +5247 0.000000 +5248 0.000000 +5249 0.000000 +5250 0.000000 +5261 0.000000 +5262 0.000000 +5263 0.000000 +5264 0.000000 +5265 0.000000 +5266 0.000000 +5267 0.000000 +5268 0.000000 +5269 0.000000 +5270 0.000000 +5281 0.000000 +5282 0.000000 +5283 0.000000 +5284 0.000000 +5285 0.000000 +5286 0.000000 +5287 0.000000 +5288 0.000000 +5289 0.000000 +5290 0.000000 +5301 0.000000 +5302 0.000000 +5303 0.000000 +5304 0.000000 +5305 0.000000 +5306 0.000000 +5307 0.000000 +5308 0.000000 +5309 0.000000 +5310 0.000000 +5321 0.000000 +5322 0.000000 +5323 0.000000 +5324 0.000000 +5325 0.000000 +5326 0.000000 +5327 0.000000 +5328 0.000000 +5329 0.000000 +5330 0.000000 +5341 0.000000 +5342 0.000000 +5343 0.000000 +5344 0.000000 +5345 0.000000 +5346 0.000000 +5347 0.000000 +5348 0.000000 +5349 0.000000 +5350 0.000000 +5361 0.000000 +5362 0.000000 +5363 0.000000 +5364 0.000000 +5365 0.000000 +5366 0.000000 +5367 0.000000 +5368 0.000000 +5369 0.000000 +5370 0.000000 +5381 0.000000 +5382 0.000000 +5383 0.000000 +5384 0.000000 +5385 0.000000 +5386 0.000000 +5387 0.000000 +5388 0.000000 +5389 0.000000 +5390 0.000000 diff --git a/tests/remap/fail/body-py/subs.py b/tests/remap/fail/body-py/subs.py new file mode 100644 index 000000000..58952147b --- /dev/null +++ b/tests/remap/fail/body-py/subs.py @@ -0,0 +1,5 @@ +from InterpMod import * + +def interp_error(userdata, **words): + interp.set_errormsg("A failed Python remap handler returning INTERP_ERROR") + return (INTERP_ERROR,) diff --git a/tests/remap/fail/body-py/test.ini b/tests/remap/fail/body-py/test.ini new file mode 100644 index 000000000..643776b36 --- /dev/null +++ b/tests/remap/fail/body-py/test.ini @@ -0,0 +1,10 @@ +[EMC] +DEBUG=0 +LOG_LEVEL=0 + +[RS274NGC] +PARAMETER_FILE = sim.var +SUBROUTINE_PATH = . +PYMODULE=subs.py + +REMAP=M400 modalgroup=5 py=interp_error diff --git a/tests/remap/fail/body-py/test.ngc b/tests/remap/fail/body-py/test.ngc new file mode 100644 index 000000000..138d7f4fb --- /dev/null +++ b/tests/remap/fail/body-py/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-py/test.sh b/tests/remap/fail/body-py/test.sh new file mode 100755 index 000000000..21572aa5d --- /dev/null +++ b/tests/remap/fail/body-py/test.sh @@ -0,0 +1,4 @@ +#!/bin/bash +rs274 -v test.var -i test.ini -n 0 -g test.ngc 2>&1 +#rs274 -v test.var -n 0 -i test.ini -g test.ngc | awk '{$1=""; print}' +exit ${PIPESTATUS[0]} diff --git a/tests/remap/fail/body-py/test.var b/tests/remap/fail/body-py/test.var new file mode 100644 index 000000000..177637776 --- /dev/null +++ b/tests/remap/fail/body-py/test.var @@ -0,0 +1,119 @@ +5161 0.000000 +5162 0.000000 +5163 0.000000 +5164 0.000000 +5165 0.000000 +5166 0.000000 +5167 0.000000 +5168 0.000000 +5169 0.000000 +5181 0.000000 +5182 0.000000 +5183 0.000000 +5184 0.000000 +5185 0.000000 +5186 0.000000 +5187 0.000000 +5188 0.000000 +5189 0.000000 +5210 0.000000 +5211 0.000000 +5212 0.000000 +5213 0.000000 +5214 0.000000 +5215 0.000000 +5216 0.000000 +5217 0.000000 +5218 0.000000 +5219 0.000000 +5220 1.000000 +5221 0.000000 +5222 0.000000 +5223 0.000000 +5224 0.000000 +5225 0.000000 +5226 0.000000 +5227 0.000000 +5228 0.000000 +5229 0.000000 +5230 0.000000 +5241 0.000000 +5242 0.000000 +5243 0.000000 +5244 0.000000 +5245 0.000000 +5246 0.000000 +5247 0.000000 +5248 0.000000 +5249 0.000000 +5250 0.000000 +5261 0.000000 +5262 0.000000 +5263 0.000000 +5264 0.000000 +5265 0.000000 +5266 0.000000 +5267 0.000000 +5268 0.000000 +5269 0.000000 +5270 0.000000 +5281 0.000000 +5282 0.000000 +5283 0.000000 +5284 0.000000 +5285 0.000000 +5286 0.000000 +5287 0.000000 +5288 0.000000 +5289 0.000000 +5290 0.000000 +5301 0.000000 +5302 0.000000 +5303 0.000000 +5304 0.000000 +5305 0.000000 +5306 0.000000 +5307 0.000000 +5308 0.000000 +5309 0.000000 +5310 0.000000 +5321 0.000000 +5322 0.000000 +5323 0.000000 +5324 0.000000 +5325 0.000000 +5326 0.000000 +5327 0.000000 +5328 0.000000 +5329 0.000000 +5330 0.000000 +5341 0.000000 +5342 0.000000 +5343 0.000000 +5344 0.000000 +5345 0.000000 +5346 0.000000 +5347 0.000000 +5348 0.000000 +5349 0.000000 +5350 0.000000 +5361 0.000000 +5362 0.000000 +5363 0.000000 +5364 0.000000 +5365 0.000000 +5366 0.000000 +5367 0.000000 +5368 0.000000 +5369 0.000000 +5370 0.000000 +5381 0.000000 +5382 0.000000 +5383 0.000000 +5384 0.000000 +5385 0.000000 +5386 0.000000 +5387 0.000000 +5388 0.000000 +5389 0.000000 +5390 0.000000 diff --git a/tests/remap/fail/epilog/README b/tests/remap/fail/epilog/README new file mode 100644 index 000000000..d119a9b8e --- /dev/null +++ b/tests/remap/fail/epilog/README @@ -0,0 +1,3 @@ +Exercise failed prolog for a remap NGC procedure + +must properly return to top level, convey error text diff --git a/tests/remap/fail/epilog/expected b/tests/remap/fail/epilog/expected new file mode 100644 index 000000000..cd57b6acb --- /dev/null +++ b/tests/remap/fail/epilog/expected @@ -0,0 +1,19 @@ +executing +A failed Python epilog returning INTERP_ERROR +o<mustbecalled>endsub + 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(" I should complain if I were'nt called but I guess I cant do that") + 8 N..... MESSAGE("failing_epilog returning INTERP_ERROR") + 9 N..... MESSAGE(" after failed M400: call_level= 0.000000 remap_level=0.000000") + 10 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000) + 11 N..... SET_XY_ROTATION(0.0000) + 12 N..... SET_FEED_MODE(0) + 13 N..... SET_FEED_RATE(0.0000) + 14 N..... STOP_SPINDLE_TURNING() + 15 N..... SET_SPINDLE_MODE(0.0000) + 16 N..... PROGRAM_END() diff --git a/tests/remap/fail/epilog/mustbecalled.ngc b/tests/remap/fail/epilog/mustbecalled.ngc new file mode 100644 index 000000000..dbb6e810a --- /dev/null +++ b/tests/remap/fail/epilog/mustbecalled.ngc @@ -0,0 +1,4 @@ +o<mustbecalled>sub +(debug, I should complain if I were'nt called but I guess I cant do that) +o<mustbecalled>endsub +m2 diff --git a/tests/remap/fail/epilog/sim.var b/tests/remap/fail/epilog/sim.var new file mode 100644 index 000000000..177637776 --- /dev/null +++ b/tests/remap/fail/epilog/sim.var @@ -0,0 +1,119 @@ +5161 0.000000 +5162 0.000000 +5163 0.000000 +5164 0.000000 +5165 0.000000 +5166 0.000000 +5167 0.000000 +5168 0.000000 +5169 0.000000 +5181 0.000000 +5182 0.000000 +5183 0.000000 +5184 0.000000 +5185 0.000000 +5186 0.000000 +5187 0.000000 +5188 0.000000 +5189 0.000000 +5210 0.000000 +5211 0.000000 +5212 0.000000 +5213 0.000000 +5214 0.000000 +5215 0.000000 +5216 0.000000 +5217 0.000000 +5218 0.000000 +5219 0.000000 +5220 1.000000 +5221 0.000000 +5222 0.000000 +5223 0.000000 +5224 0.000000 +5225 0.000000 +5226 0.000000 +5227 0.000000 +5228 0.000000 +5229 0.000000 +5230 0.000000 +5241 0.000000 +5242 0.000000 +5243 0.000000 +5244 0.000000 +5245 0.000000 +5246 0.000000 +5247 0.000000 +5248 0.000000 +5249 0.000000 +5250 0.000000 +5261 0.000000 +5262 0.000000 +5263 0.000000 +5264 0.000000 +5265 0.000000 +5266 0.000000 +5267 0.000000 +5268 0.000000 +5269 0.000000 +5270 0.000000 +5281 0.000000 +5282 0.000000 +5283 0.000000 +5284 0.000000 +5285 0.000000 +5286 0.000000 +5287 0.000000 +5288 0.000000 +5289 0.000000 +5290 0.000000 +5301 0.000000 +5302 0.000000 +5303 0.000000 +5304 0.000000 +5305 0.000000 +5306 0.000000 +5307 0.000000 +5308 0.000000 +5309 0.000000 +5310 0.000000 +5321 0.000000 +5322 0.000000 +5323 0.000000 +5324 0.000000 +5325 0.000000 +5326 0.000000 +5327 0.000000 +5328 0.000000 +5329 0.000000 +5330 0.000000 +5341 0.000000 +5342 0.000000 +5343 0.000000 +5344 0.000000 +5345 0.000000 +5346 0.000000 +5347 0.000000 +5348 0.000000 +5349 0.000000 +5350 0.000000 +5361 0.000000 +5362 0.000000 +5363 0.000000 +5364 0.000000 +5365 0.000000 +5366 0.000000 +5367 0.000000 +5368 0.000000 +5369 0.000000 +5370 0.000000 +5381 0.000000 +5382 0.000000 +5383 0.000000 +5384 0.000000 +5385 0.000000 +5386 0.000000 +5387 0.000000 +5388 0.000000 +5389 0.000000 +5390 0.000000 diff --git a/tests/remap/fail/epilog/subs.py b/tests/remap/fail/epilog/subs.py new file mode 100644 index 000000000..44b388e59 --- /dev/null +++ b/tests/remap/fail/epilog/subs.py @@ -0,0 +1,6 @@ +from InterpMod import * + +def failingepilog(userdata, **words): + CanonMod.MESSAGE("failing_epilog returning INTERP_ERROR") + interp.set_errormsg("A failed Python epilog returning INTERP_ERROR") + return (INTERP_ERROR,) diff --git a/tests/remap/fail/epilog/test.ini b/tests/remap/fail/epilog/test.ini new file mode 100644 index 000000000..2fccb288e --- /dev/null +++ b/tests/remap/fail/epilog/test.ini @@ -0,0 +1,10 @@ +[EMC] +DEBUG=0 +LOG_LEVEL=0 + +[RS274NGC] +PARAMETER_FILE = sim.var +SUBROUTINE_PATH = . +PYMODULE=subs.py + +REMAP=M400 modalgroup=5 ngc=mustbecalled epilog=failingepilog diff --git a/tests/remap/fail/epilog/test.ngc b/tests/remap/fail/epilog/test.ngc new file mode 100644 index 000000000..138d7f4fb --- /dev/null +++ b/tests/remap/fail/epilog/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/epilog/test.sh b/tests/remap/fail/epilog/test.sh new file mode 100755 index 000000000..21572aa5d --- /dev/null +++ b/tests/remap/fail/epilog/test.sh @@ -0,0 +1,4 @@ +#!/bin/bash +rs274 -v test.var -i test.ini -n 0 -g test.ngc 2>&1 +#rs274 -v test.var -n 0 -i test.ini -g test.ngc | awk '{$1=""; print}' +exit ${PIPESTATUS[0]} diff --git a/tests/remap/fail/epilog/test.var b/tests/remap/fail/epilog/test.var new file mode 100644 index 000000000..177637776 --- /dev/null +++ b/tests/remap/fail/epilog/test.var @@ -0,0 +1,119 @@ +5161 0.000000 +5162 0.000000 +5163 0.000000 +5164 0.000000 +5165 0.000000 +5166 0.000000 +5167 0.000000 +5168 0.000000 +5169 0.000000 +5181 0.000000 +5182 0.000000 +5183 0.000000 +5184 0.000000 +5185 0.000000 +5186 0.000000 +5187 0.000000 +5188 0.000000 +5189 0.000000 +5210 0.000000 +5211 0.000000 +5212 0.000000 +5213 0.000000 +5214 0.000000 +5215 0.000000 +5216 0.000000 +5217 0.000000 +5218 0.000000 +5219 0.000000 +5220 1.000000 +5221 0.000000 +5222 0.000000 +5223 0.000000 +5224 0.000000 +5225 0.000000 +5226 0.000000 +5227 0.000000 +5228 0.000000 +5229 0.000000 +5230 0.000000 +5241 0.000000 +5242 0.000000 +5243 0.000000 +5244 0.000000 +5245 0.000000 +5246 0.000000 +5247 0.000000 +5248 0.000000 +5249 0.000000 +5250 0.000000 +5261 0.000000 +5262 0.000000 +5263 0.000000 +5264 0.000000 +5265 0.000000 +5266 0.000000 +5267 0.000000 +5268 0.000000 +5269 0.000000 +5270 0.000000 +5281 0.000000 +5282 0.000000 +5283 0.000000 +5284 0.000000 +5285 0.000000 +5286 0.000000 +5287 0.000000 +5288 0.000000 +5289 0.000000 +5290 0.000000 +5301 0.000000 +5302 0.000000 +5303 0.000000 +5304 0.000000 +5305 0.000000 +5306 0.000000 +5307 0.000000 +5308 0.000000 +5309 0.000000 +5310 0.000000 +5321 0.000000 +5322 0.000000 +5323 0.000000 +5324 0.000000 +5325 0.000000 +5326 0.000000 +5327 0.000000 +5328 0.000000 +5329 0.000000 +5330 0.000000 +5341 0.000000 +5342 0.000000 +5343 0.000000 +5344 0.000000 +5345 0.000000 +5346 0.000000 +5347 0.000000 +5348 0.000000 +5349 0.000000 +5350 0.000000 +5361 0.000000 +5362 0.000000 +5363 0.000000 +5364 0.000000 +5365 0.000000 +5366 0.000000 +5367 0.000000 +5368 0.000000 +5369 0.000000 +5370 0.000000 +5381 0.000000 +5382 0.000000 +5383 0.000000 +5384 0.000000 +5385 0.000000 +5386 0.000000 +5387 0.000000 +5388 0.000000 +5389 0.000000 +5390 0.000000 diff --git a/tests/remap/fail/prolog/README b/tests/remap/fail/prolog/README new file mode 100644 index 000000000..d119a9b8e --- /dev/null +++ b/tests/remap/fail/prolog/README @@ -0,0 +1,3 @@ +Exercise failed prolog for a remap NGC procedure + +must properly return to top level, convey error text diff --git a/tests/remap/fail/prolog/expected b/tests/remap/fail/prolog/expected new file mode 100644 index 000000000..e482fd9cd --- /dev/null +++ b/tests/remap/fail/prolog/expected @@ -0,0 +1,17 @@ +executing +A failed Python prolog returning INTERP_ERROR +O <notcalled> call + 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(" after failed M400: call_level= 0.000000 remap_level=0.000000") + 8 N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000) + 9 N..... SET_XY_ROTATION(0.0000) + 10 N..... SET_FEED_MODE(0) + 11 N..... SET_FEED_RATE(0.0000) + 12 N..... STOP_SPINDLE_TURNING() + 13 N..... SET_SPINDLE_MODE(0.0000) + 14 N..... PROGRAM_END() diff --git a/tests/remap/fail/prolog/notcalled.ngc b/tests/remap/fail/prolog/notcalled.ngc new file mode 100644 index 000000000..347d09410 --- /dev/null +++ b/tests/remap/fail/prolog/notcalled.ngc @@ -0,0 +1,4 @@ +o<notcalled>sub +(debug, I guess I shouldnt have been called) +o<notcalled>endsub +m2 diff --git a/tests/remap/fail/prolog/sim.var b/tests/remap/fail/prolog/sim.var new file mode 100644 index 000000000..177637776 --- /dev/null +++ b/tests/remap/fail/prolog/sim.var @@ -0,0 +1,119 @@ +5161 0.000000 +5162 0.000000 +5163 0.000000 +5164 0.000000 +5165 0.000000 +5166 0.000000 +5167 0.000000 +5168 0.000000 +5169 0.000000 +5181 0.000000 +5182 0.000000 +5183 0.000000 +5184 0.000000 +5185 0.000000 +5186 0.000000 +5187 0.000000 +5188 0.000000 +5189 0.000000 +5210 0.000000 +5211 0.000000 +5212 0.000000 +5213 0.000000 +5214 0.000000 +5215 0.000000 +5216 0.000000 +5217 0.000000 +5218 0.000000 +5219 0.000000 +5220 1.000000 +5221 0.000000 +5222 0.000000 +5223 0.000000 +5224 0.000000 +5225 0.000000 +5226 0.000000 +5227 0.000000 +5228 0.000000 +5229 0.000000 +5230 0.000000 +5241 0.000000 +5242 0.000000 +5243 0.000000 +5244 0.000000 +5245 0.000000 +5246 0.000000 +5247 0.000000 +5248 0.000000 +5249 0.000000 +5250 0.000000 +5261 0.000000 +5262 0.000000 +5263 0.000000 +5264 0.000000 +5265 0.000000 +5266 0.000000 +5267 0.000000 +5268 0.000000 +5269 0.000000 +5270 0.000000 +5281 0.000000 +5282 0.000000 +5283 0.000000 +5284 0.000000 +5285 0.000000 +5286 0.000000 +5287 0.000000 +5288 0.000000 +5289 0.000000 +5290 0.000000 +5301 0.000000 +5302 0.000000 +5303 0.000000 +5304 0.000000 +5305 0.000000 +5306 0.000000 +5307 0.000000 +5308 0.000000 +5309 0.000000 +5310 0.000000 +5321 0.000000 +5322 0.000000 +5323 0.000000 +5324 0.000000 +5325 0.000000 +5326 0.000000 +5327 0.000000 +5328 0.000000 +5329 0.000000 +5330 0.000000 +5341 0.000000 +5342 0.000000 +5343 0.000000 +5344 0.000000 +5345 0.000000 +5346 0.000000 +5347 0.000000 +5348 0.000000 +5349 0.000000 +5350 0.000000 +5361 0.000000 +5362 0.000000 +5363 0.000000 +5364 0.000000 +5365 0.000000 +5366 0.000000 +5367 0.000000 +5368 0.000000 +5369 0.000000 +5370 0.000000 +5381 0.000000 +5382 0.000000 +5383 0.000000 +5384 0.000000 +5385 0.000000 +5386 0.000000 +5387 0.000000 +5388 0.000000 +5389 0.000000 +5390 0.000000 diff --git a/tests/remap/fail/prolog/subs.py b/tests/remap/fail/prolog/subs.py new file mode 100644 index 000000000..d9d93c2d0 --- /dev/null +++ b/tests/remap/fail/prolog/subs.py @@ -0,0 +1,5 @@ +from InterpMod import * + +def failingprolog(userdata, **words): + interp.set_errormsg("A failed Python prolog returning INTERP_ERROR") + return (INTERP_ERROR,) diff --git a/tests/remap/fail/prolog/test.ini b/tests/remap/fail/prolog/test.ini new file mode 100644 index 000000000..bf569ef9d --- /dev/null +++ b/tests/remap/fail/prolog/test.ini @@ -0,0 +1,10 @@ +[EMC] +DEBUG=0 +LOG_LEVEL=0 + +[RS274NGC] +PARAMETER_FILE = sim.var +SUBROUTINE_PATH = . +PYMODULE=subs.py + +REMAP=M400 modalgroup=5 prolog=failingprolog ngc=notcalled diff --git a/tests/remap/fail/prolog/test.ngc b/tests/remap/fail/prolog/test.ngc new file mode 100644 index 000000000..138d7f4fb --- /dev/null +++ b/tests/remap/fail/prolog/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/prolog/test.sh b/tests/remap/fail/prolog/test.sh new file mode 100755 index 000000000..21572aa5d --- /dev/null +++ b/tests/remap/fail/prolog/test.sh @@ -0,0 +1,4 @@ +#!/bin/bash +rs274 -v test.var -i test.ini -n 0 -g test.ngc 2>&1 +#rs274 -v test.var -n 0 -i test.ini -g test.ngc | awk '{$1=""; print}' +exit ${PIPESTATUS[0]} diff --git a/tests/remap/fail/prolog/test.var b/tests/remap/fail/prolog/test.var new file mode 100644 index 000000000..177637776 --- /dev/null +++ b/tests/remap/fail/prolog/test.var @@ -0,0 +1,119 @@ +5161 0.000000 +5162 0.000000 +5163 0.000000 +5164 0.000000 +5165 0.000000 +5166 0.000000 +5167 0.000000 +5168 0.000000 +5169 0.000000 +5181 0.000000 +5182 0.000000 +5183 0.000000 +5184 0.000000 +5185 0.000000 +5186 0.000000 +5187 0.000000 +5188 0.000000 +5189 0.000000 +5210 0.000000 +5211 0.000000 +5212 0.000000 +5213 0.000000 +5214 0.000000 +5215 0.000000 +5216 0.000000 +5217 0.000000 +5218 0.000000 +5219 0.000000 +5220 1.000000 +5221 0.000000 +5222 0.000000 +5223 0.000000 +5224 0.000000 +5225 0.000000 +5226 0.000000 +5227 0.000000 +5228 0.000000 +5229 0.000000 +5230 0.000000 +5241 0.000000 +5242 0.000000 +5243 0.000000 +5244 0.000000 +5245 0.000000 +5246 0.000000 +5247 0.000000 +5248 0.000000 +5249 0.000000 +5250 0.000000 +5261 0.000000 +5262 0.000000 +5263 0.000000 +5264 0.000000 +5265 0.000000 +5266 0.000000 +5267 0.000000 +5268 0.000000 +5269 0.000000 +5270 0.000000 +5281 0.000000 +5282 0.000000 +5283 0.000000 +5284 0.000000 +5285 0.000000 +5286 0.000000 +5287 0.000000 +5288 0.000000 +5289 0.000000 +5290 0.000000 +5301 0.000000 +5302 0.000000 +5303 0.000000 +5304 0.000000 +5305 0.000000 +5306 0.000000 +5307 0.000000 +5308 0.000000 +5309 0.000000 +5310 0.000000 +5321 0.000000 +5322 0.000000 +5323 0.000000 +5324 0.000000 +5325 0.000000 +5326 0.000000 +5327 0.000000 +5328 0.000000 +5329 0.000000 +5330 0.000000 +5341 0.000000 +5342 0.000000 +5343 0.000000 +5344 0.000000 +5345 0.000000 +5346 0.000000 +5347 0.000000 +5348 0.000000 +5349 0.000000 +5350 0.000000 +5361 0.000000 +5362 0.000000 +5363 0.000000 +5364 0.000000 +5365 0.000000 +5366 0.000000 +5367 0.000000 +5368 0.000000 +5369 0.000000 +5370 0.000000 +5381 0.000000 +5382 0.000000 +5383 0.000000 +5384 0.000000 +5385 0.000000 +5386 0.000000 +5387 0.000000 +5388 0.000000 +5389 0.000000 +5390 0.000000 diff --git a/tests/remap/posargs.0/README b/tests/remap/posargs.0/README new file mode 100644 index 000000000..eca431208 --- /dev/null +++ b/tests/remap/posargs.0/README @@ -0,0 +1,3 @@ +Exercise passing positional parameters to an NGC remap procedure + +Verify ordering and argument count diff --git a/tests/remap/posargs.0/expected b/tests/remap/posargs.0/expected new file mode 100644 index 000000000..ebbc2ceb2 --- /dev/null +++ b/tests/remap/posargs.0/expected @@ -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(" in rg881: n_args=3.000000 [1.000000] [2.000000] [3.000000] [0.000000] [0.000000]") + N..... MESSAGE(" in rg881: n_args=4.000000 [1.000000] [2.000000] [3.000000] [4.000000] [0.000000]") + N..... MESSAGE(" in rg881: n_args=4.000000 [1.000000] [2.000000] [3.000000] [5.000000] [0.000000]") + N..... MESSAGE(" in rg881: n_args=5.000000 [1.000000] [2.000000] [3.000000] [4.000000] [5.000000]") + 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() diff --git a/tests/remap/posargs.0/rg881.ngc b/tests/remap/posargs.0/rg881.ngc new file mode 100644 index 000000000..e19cb153e --- /dev/null +++ b/tests/remap/posargs.0/rg881.ngc @@ -0,0 +1,5 @@ +o<rg881> sub +(debug, in rg881: n_args=#<n_args> [#1] [#2] [#3] [#4] [#5]) +o<rg881> endsub +m2 +% diff --git a/tests/remap/posargs.0/test.ini b/tests/remap/posargs.0/test.ini new file mode 100644 index 000000000..97b4d518d --- /dev/null +++ b/tests/remap/posargs.0/test.ini @@ -0,0 +1,8 @@ +[EMC] +DEBUG=0 +LOG_LEVEL=0 + +[RS274NGC] +SUBROUTINE_PATH = . + +REMAP=G88.1 modalgroup=1 argspec=@XYZpq ngc=rg881 diff --git a/tests/remap/posargs.0/test.ngc b/tests/remap/posargs.0/test.ngc new file mode 100644 index 000000000..273ca43c0 --- /dev/null +++ b/tests/remap/posargs.0/test.ngc @@ -0,0 +1,7 @@ +G88.1 X1 Y2 Z3 +; NB: with positional argument caling it is impossible to tell which +; one of several optional parameters was passed! +G88.1 X1 Y2 Z3 P4 +G88.1 X1 Y2 Z3 Q5 +G88.1 X1 Y2 Z3 P4 Q5 +M2 diff --git a/tests/remap/posargs.0/test.sh b/tests/remap/posargs.0/test.sh new file mode 100755 index 000000000..087b90d47 --- /dev/null +++ b/tests/remap/posargs.0/test.sh @@ -0,0 +1,3 @@ +#!/bin/bash +rs274 -i test.ini -n 0 -g test.ngc| awk '{$1=""; print}' +exit ${PIPESTATUS[0]} |