Add the beginnings of a regression-test suite.
[super-star-trek.git] / test / Makefile
diff --git a/test/Makefile b/test/Makefile
new file mode 100644 (file)
index 0000000..d77b4e0
--- /dev/null
@@ -0,0 +1,31 @@
+# Test-suite makefile for sst
+
+all: regress
+       @echo "No diff output is good news."
+
+.SUFFIXES: .log .chk
+
+.log.chk:
+       ../sst.py -r $< >$@ 2>&1
+
+TESTLOADS := $(shell ls *.log | sed '/.log/s///')
+buildregress:
+       @for test in $(TESTLOADS); do \
+           if [ ! -f $${test}.tst ] ; \
+           then \
+                   echo "Remaking $${test}.chk"; \
+                   rm -f $${test}.chk && ../sst.py -r $${test}.log >$${test}.chk 2>&1; \
+           fi \
+       done
+regress:
+       @for test in $(TESTLOADS); \
+       do \
+           if [ ! -f $${test}.tst ] ; \
+           then \
+               (if echo "Testing $${test}" >&2; \
+               ../sst.py -r $${test}.log >/tmp/regress 2>&1; \
+               then diff -u $${test}.chk /tmp/regress; \
+               else echo "*** Nonzero return status on $${test}!"; exit 1; fi;) \
+           fi \
+       done
+       @rm -f /tmp/regress