Move in the direction of being able to do ancient regression tests.
authorEric S. Raymond <esr@thyrsus.com>
Tue, 21 Mar 2023 18:07:04 +0000 (14:07 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Tue, 21 Mar 2023 21:27:30 +0000 (17:27 -0400)
tests/Makefile
tests/newfilter [new file with mode: 0755]

index 90120ef1b374e7935963adb09ea0e3717a34be83..347b0f9b31a22fb479212cb110673a437027e4ac 100644 (file)
@@ -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 (executable)
index 0000000..dca9f05
--- /dev/null
@@ -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