Ready to ship 2.8
[super-star-trek.git] / test / Makefile
index d77b4e070c3767cda39753381ceddf76848201af..de8df77745187ef9bf1b3ea4d58f1733e667e25a 100644 (file)
@@ -1,31 +1,44 @@
 # Test-suite makefile for sst
 
-all: regress
-       @echo "No diff output is good news."
+all:
+       @$(MAKE) regress | ./tapview
 
 .SUFFIXES: .log .chk
 
 .log.chk:
-       ../sst.py -r $< >$@ 2>&1
+       ../sst -r $< >$@ 2>&1
 
 TESTLOADS := $(shell ls *.log | sed '/.log/s///')
-buildregress:
+rebuild:
        @for test in $(TESTLOADS); do \
            if [ ! -f $${test}.tst ] ; \
-           then \
+    then \
                    echo "Remaking $${test}.chk"; \
-                   rm -f $${test}.chk && ../sst.py -r $${test}.log >$${test}.chk 2>&1; \
+                   rm -f $${test}.chk && ../sst -r $${test}.log >$${test}.chk 2>&1; \
            fi \
        done
 regress:
+       @echo "1..$$(ls *.log | wc -l)"
        @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;) \
+               legend=$$(sed -n -e '/# Test/s//Test/p' <$${test}.log); \
+               ../sst -r "$${test}.log" | ./tapdiffer "$${legend}" "$${test}.chk"; \
            fi \
        done
        @rm -f /tmp/regress
+
+coverage:
+       @coverage erase
+       @for test in $(TESTLOADS); \
+       do \
+           if [ ! -f $${test}.tst ] ; \
+           then \
+               coverage run -a ../sst -r "$${test}.log" >/dev/null; \
+           fi \
+       done
+       @coverage html
+
+clean:
+       rm -f .coverage htmlcov/index.html