Test cleanup and reconvilation with advent430.
[open-adventure.git] / tests / Makefile
index c0a9b0ccc07077d9fe6151bc3c40e39ebc1d23b2..f2addb991dbc0e1fa6dfb1407417227c9aa04705 100644 (file)
@@ -29,14 +29,12 @@ TESTLOADS := $(shell ls -1 *.log | sed '/.log/s///' | sort)
 
 check: savecheck
        @make tap | tapview
-       @echo "=== No diff output is good news."
        @-advent -x 2>/dev/null || exit 0 # Get usage message into coverage tests
-       @-advent -l /dev/null <pitfall.log >/dev/null
 
 .SUFFIXES: .chk
 
 clean:
-       rm -fr *~ *.adv scratch.tmp *.ochk
+       rm -fr *~ *.adv scratch.tmp *.ochk advent430 adventure.data
 
 # Show summary lines for all tests.
 testlist:
@@ -126,12 +124,20 @@ tap: count $(TEST_TARGETS)
 count:
        @echo 1..$(words $(TEST_TARGETS))
 
-# The following machinery tests the gane against a binary made from the advent430 branch
-# The diff file produced has new spellings in it.
-
-ancient:
-       for x in *.log; do stem=$${x%.log}; echo $${stem}; ./advent430 <$${stem}.log | ./oldfilter >$${stem}.ochk; done 
-       for x in *.log; do stem=$${x%.log}; diff -u $${stem}.chk $${stem}.log; done
-       rm *.ochk
+# The following machinery tests the gane against a binary made from
+# the advent430 branch To use it, switch to that branch, build the
+# binary, sand run it once to generate adventure.data, then switch
+# back to master leaving advent430 and adventure.data in place (make
+# clean does not remove them).
+#
+# The diff file produced has corrected spellings in it. That's what oldfilter
+# is for, to massage out the orioginal dpellings and avoid noise diffs.
+# Diffs in amount of whitespace and trailing whitespace are ignored
+
+ancient: $(SGAMES)
+       @if [ -f ../advent430 ]; then cp ../advent430 ../adventure.data .; else echo "advent430 nonexistent"; exit 1; fi
+       @-for x in *.log; do stem=$${x%.log}; echo $${stem}; ./advent430 <$${stem}.log | ./oldfilter >$${stem}.ochk; done
+       @-(for x in *.log; do stem=$${x%.log}; legend=$$(sed -n '/^## /s///p' <$$x 2>/dev/null || echo "(no description)"); ./newfilter <$${stem}.chk | tapdiffer -w "$${legend}" $${stem}.ochk; done; echo 1..$(words $(shell ls *.log))) | tapview
+       @rm *.ochk advent430 adventure.data
 
 # end