From b044e9ab422ef7501c5ce98ec39eb89e2f142c5e Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Tue, 21 Mar 2023 14:07:04 -0400 Subject: [PATCH] Move in the direction of being able to do ancient regression tests. --- tests/Makefile | 24 ++++++++++++++++-------- tests/newfilter | 8 ++++++++ 2 files changed, 24 insertions(+), 8 deletions(-) create mode 100755 tests/newfilter diff --git a/tests/Makefile b/tests/Makefile index 90120ef..347b0f9 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -34,7 +34,7 @@ check: savecheck .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: @@ -124,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}; ./newfilter <$${stem}.chk | diff -ubZ $${stem}.ochk -; done + @rm *.ochk advent430 adventure.data # end diff --git a/tests/newfilter b/tests/newfilter new file mode 100755 index 0000000..dca9f05 --- /dev/null +++ b/tests/newfilter @@ -0,0 +1,8 @@ +#!/bin/sh +# +# Filter the output from Open Adventure versions to make it compatible with +# the filtered versions of logs made from advent430. +sed \ + -e '/bridge now spans the fissure/s//bridge spans the fissure/' \ + +# end -- 2.31.1