# Test-suite makefile for sst PYTHON=python3 # The tests output TAP (Test Anything Proocol) # If you have either of these TAP viwers installed, # S good ing will happen. TAPVIEWER=cat ifeq (,$(command -v tapview)) TAPVIEWER=tapview else ifeq (,$(command -v tappy)) TAPVIEWER=tappy endif endif all: @echo "With Python 2:" @$(MAKE) -e PYTHON=python2 regress | $(TAPVIEWER) @echo "With Python 3:" @$(MAKE) -e PYTHON=python3 regress | $(TAPVIEWER) @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: echo "1..$$(ls *.log | wc -l)" @for test in $(TESTLOADS); \ do \ if [ ! -f $${test}.tst ] ; \ then \ legend=$$(sed -n -e '/# Test/s//Test/p' <$${test}.log); \ ../sst.py -r "$${test}.log" | ./tapdiffer "$${legend}" "$${test}.chk"; \ fi \ done @rm -f /tmp/regress