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}; ./newfilter <$${stem}.chk | diff -ubZ $${stem}.ochk -; done
+ @-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
# A nonempty diff is shipped as a TAP YAML block following "not ok"
# unless QUIET=1 in the environment.
#
+if [ "$1" = "-w" ]
+then
+ diffopts=-ubZ
+ shift
+else
+ diffopts=-u
+fi
+
legend=$1
checkfile=$2
trap 'rm /tmp/tapdiff$$' EXIT HUP INT QUIT TERM
-if diff --text -u ${checkfile} - >/tmp/tapdiff$$
+if diff --text "${diffopts}" ${checkfile} - >/tmp/tapdiff$$
then
echo "ok - ${legend}"
else