Implement NOCOMPARE magic.
authorEric S. Raymond <esr@thyrsus.com>
Thu, 23 Mar 2023 09:38:26 +0000 (05:38 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Thu, 23 Mar 2023 18:58:06 +0000 (14:58 -0400)
tests/Makefile
tests/birdweight.log
tests/endobjects.log
tests/resumefail.log
tests/resumefail2.log
tests/savefail.log
tests/saveresume.3.log
tests/saveresume.4.log
tests/specials.log

index f2addb991dbc0e1fa6dfb1407417227c9aa04705..8d61d27109c6d33143f76a8370b581e29a8619f7 100644 (file)
@@ -133,11 +133,23 @@ count:
 # 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
-
+#
+# A magic comment of NOCOMPARE in a log file excludes it from this comparison.
+# First use of this is to avoid a spurious mismatch on the news text.
+TAPFILTER=tapview
 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
+       @-(for x in *.log; do \
+               stem=$${x%.log}; \
+               legend=$$(sed -n '/^## /s///p' <$$x 2>/dev/null || echo "(no description)"); \
+               if grep NOCOMPARE $$x >/dev/null; \
+                       then echo "not ok - $${stem}.ochk: $${legend} # SKIP"; \
+                       else \
+                               ./advent430 <$${stem}.log | oldfilter >$${stem}.ochk; \
+                               ./newfilter <$${stem}.chk | tapdiffer -w "$${stem}: $${legend}" $${stem}.ochk; \
+                       fi; \
+       done; \
+       echo 1..$(words $(shell ls *.log))) | $(TAPFILTER)
        @rm *.ochk advent430 adventure.data
 
 # end
index bc07eb65c3b5c2cc408bf8c48ff08c54a39683be..80cc3a638ece603f9d83a255f33747aa995ad803 100644 (file)
@@ -1,5 +1,6 @@
 ## Verify that the bird is weightless in inventory
 # Checks fix for GitLab issue #40
+#NOCOMPARE Bird was not weightless in cage in advent430 so this test is invalid.
 n
 #seed 687800971
 seed 976729036
index e532df00291fd0732bef14229717a505d3a3e655..6bec9703fabd14149452573df8bb22596efadef8 100644 (file)
@@ -1,5 +1,6 @@
 ### Check that water is unavailable in endgame
 # Addresses GitLab issue #55: in endgame, some object starting states are incorrect
+#NOCOMPARE Bird was not weightless in cade in advent430, this test depends on that.
 no
 seed 11247848
 no
index 053b05f2ebd620e63dcf0c7f910ed273685cadd5..1e1fdb525bc31152b4d0ae2935aaf42582abe269 100644 (file)
@@ -1,6 +1,7 @@
 ## Resume from invalid filename
+#NOCOMPARE advent430 crashes on resume fom invalid filename and we don't care.
 n
 seed 1240742801
 resume
 y
-/badfilename
\ No newline at end of file
+/badfilename
index 2754454102ccefeb0343721432d6a1cb735560f9..7aaac369501ac901df44dbe3c0700cb0e614c69b 100644 (file)
@@ -1,4 +1,5 @@
-## Resume from from generated save with  version mismatch error
+## Resume from from generated save with version mismatch error
+#NOCOMPARE Reveals a bug in advent430 handling of saves with invalid versions.
 n
 resume
 y
index f907d99220b838684b9d47364dfdd0c63c7a49d1..c598d191c12a60d40c9e1df1e3b303ade2edfd37 100644 (file)
@@ -1,6 +1,7 @@
 ## Save right after starting to invalid filename
+#NOCOMPARE advent430 crashes on save to invalid filename and we don't care.
 n
 seed 1240742801
 save
 y
-/
\ No newline at end of file
+/
index 13ed0bee774dddfd288816b97cc96d2aa341a1ed..f199c6466276702302e4eefa04a2880bf8a24a4d 100644 (file)
@@ -1,5 +1,6 @@
 ## Almost win, then save
 # Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+#NOCOMPARE seems to reveal a bug in advent430
 n
 seed 1838473132
 in
@@ -473,4 +474,4 @@ sw
 save
 y
 saveresume_win.adv
-y
\ No newline at end of file
+y
index caa80983d80d8d96bea928136a4e85abbab9b85d..883d098bcdab88a8e10a448830e96c297ae019e4 100644 (file)
@@ -1,6 +1,7 @@
 ## Resume, then win
 # Here to get class threshold of 426
 # Note, savefile name has trailing space
+#NOCOMPARE Reveals that advent430 does not resume in endgame gracefully.
 n
 resume
 y
index 289169168810d96829762cb5414e113da23e07b3..4784faf2c7ec2a40044335e8407a51271f661e7c 100644 (file)
@@ -1,4 +1,5 @@
 ## Test special words
+#NOCOMPARE The news text has changed
 n
 thank
 shazam