25 lines
703 B
Python
Executable File
25 lines
703 B
Python
Executable File
#!/usr/bin/env python3
|
|
import glob, os, sys, filecmp
|
|
|
|
fail = 0
|
|
for t in sorted(glob.glob('*.ngc')):
|
|
sys.stderr.write("#".format(t))
|
|
p = os.popen("rs274 -g %s 2>&1 > %s.out " % (t, t))
|
|
output = p.readlines()
|
|
r = p.close()
|
|
out_file = t + ".out"
|
|
expected_file = t + ".expected"
|
|
if r != None:
|
|
print("%s: Interpreter reported an error with the gcode" % t)
|
|
print(output)
|
|
fail += 1
|
|
continue
|
|
if not filecmp.cmp(out_file, expected_file):
|
|
print("%s: Interpreter output is unexpected:" % t)
|
|
os.system('diff -u %s %s' % (expected_file, out_file))
|
|
fail += 1
|
|
continue
|
|
|
|
if fail:
|
|
raise SystemExit("%d failures" % fail)
|