Import LinuxCNC source tree
This commit is contained in:
31
tests/interp/bad/test
Executable file
31
tests/interp/bad/test
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env python3
|
||||
import glob, os, sys
|
||||
|
||||
fail = 0
|
||||
for t in sorted(glob.glob('*.ngc')):
|
||||
sys.stderr.write("# {}".format(t))
|
||||
error = open(t).readline()
|
||||
if error.startswith(';'): expected = error[1:-1]
|
||||
elif error.startswith('('): expected = error[1:-2]
|
||||
else: expected = "%s: Test does not specify expected error" % t
|
||||
p = os.popen("rs274 -g %s 2>&1 > /dev/null" % t)
|
||||
output = p.readlines()
|
||||
r = p.close()
|
||||
print("# -> {}".format(r))
|
||||
if not r:
|
||||
print("%s: Interpreter accepted bad gcode" % t)
|
||||
fail += 1
|
||||
continue
|
||||
|
||||
if len(output) < 2:
|
||||
print("%s: Unexpected interpreter output: %r" % output)
|
||||
fail += 1
|
||||
continue
|
||||
|
||||
err = output[-2].strip()
|
||||
if err != expected:
|
||||
print("%s: Expected %r, got %r instead" % (t, expected, err))
|
||||
fail += 1
|
||||
|
||||
if fail:
|
||||
raise SystemExit("%d failures" % fail)
|
||||
Reference in New Issue
Block a user