X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=tests%2FMakefile;h=fc4801fc11e4378b6542f30c3d250f37d64117e5;hb=refs%2Fheads%2Fmaster;hp=2f547a0cac35098c1c31909f694f143bc5d01337;hpb=d9ddf4d80500271c1d6673648e8df2ea7968e897;p=open-adventure.git diff --git a/tests/Makefile b/tests/Makefile index 2f547a0..2ed7431 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,5 +1,8 @@ # Test-suite makefile for open-adventure +# SPDX-FileCopyrightText: Copyright Eric S. Raymond +# SPDX-License-Identifier: BSD-2-Clause + # Use absolute path so tests that change working directory still use # scripts from parent directory. Note that using $PWD seems to fail # here under Gitlab's CI environment. @@ -45,28 +48,22 @@ listcheck: done # Generate bogus savegames. -sgame1: +cheat_numdie.adv: @$(PARDIR)/cheat -d -900 -o cheat_numdie.adv > /tmp/cheat_numdie - @./outcheck.sh "cheat: Generate save file with -900 deaths" -sgame2: +cheat_numdie1000.adv: @$(PARDIR)/cheat -d -1000 -o cheat_numdie1000.adv > /tmp/cheat_numdie1000 - @./outcheck.sh "cheat: Generate save file with -1000 deaths" -sgame3: +cheat_savetamper.adv: @$(PARDIR)/cheat -d 2000 -o cheat_savetamper.adv > /tmp/cheat_savetamper - @./outcheck.sh "cheat: Generate tamper-detection test" -sgame4: +resume_badversion.adv: @$(PARDIR)/cheat -v -1337 -o resume_badversion.adv > /tmp/cheat_badversion - @./outcheck.sh "cheat: Generate save file with version -1337" -sgame5: +thousand_saves.adv: @$(PARDIR)/cheat -s -1000 -o thousand_saves.adv > /tmp/cheat_1000saves - @./outcheck.sh "cheat: Generate save file 1000 saves" -sgame6: - @$(PARDIR)/cheat -t -1000 -o thousand_saves.adv > /tmp/cheat_1000turns - @./outcheck.sh "cheat: Generate save file 1000 turns" -sgame7: - @$(PARDIR)/cheat -l -1000 -o thousand_lamp.adv > /tmp/cheat_1000lamp - @./outcheck.sh "cheat: Generate save file 1000 turns" -SGAMES = sgame1 sgame2 sgame3 sgame4 sgame5 sgame6 sgame7 +thousand_turns.adv: + @$(PARDIR)/cheat -t -1000 -o thousand_turns.adv > /tmp/cheat_1000turns +thousand_limit.adv: + @$(PARDIR)/cheat -l -1000 -o thousand_limit.adv > /tmp/cheat_1000limit +SGAMES = cheat_numdie.adv cheat_numdie1000.adv cheat_savetamper.adv resume_badversion.adv \ + thousand_saves.adv thousand_turns.adv thousand_limit.adv # Force coverage of cheat edgecases scheck1: @@ -115,14 +112,14 @@ RUN_TARGETS=$(TESTLOADS:%=run-regress-%) $(RUN_TARGETS): run-regress-%: %.log @(test=$(<:.log=); legend=$$(sed -n '/^## /s///p' <"$<" 2>/dev/null || echo "(no description)"); \ OPTS=`sed -n /#options:/s///p $<`; \ - $(advent) $$OPTS <$< | tapdiffer "$<: $${legend}" "$${test}.chk") + $(advent) $$OPTS <$< | tapdiffer "$${test}: $${legend}" "$${test}.chk") multifile-regress: @(echo "inven" | advent issue36.log /dev/stdin) | tapdiffer "multifile: multiple-file test" multifile.chk -TEST_TARGETS = $(SGAMES) $(SCHECKS) $(RUN_TARGETS) multifile-regress +TEST_TARGETS = $(SCHECKS) $(RUN_TARGETS) multifile-regress -tap: count $(TEST_TARGETS) +tap: count $(SGAMES) $(TEST_TARGETS) @rm -f scratch.tmp /tmp/coverage* /tmp/cheat* count: @echo 1..$(words $(TEST_TARGETS)) @@ -133,6 +130,14 @@ count: # master leaving advent430 and adventure.data in place (make clean # does not remove them). # +# make clean # Clean up object files, laving a bare source tree +# git checkout advent430 # Check out the advent430 branch +# make # Build the advent430 binary +# advent430 # Run it. Answer the novice question and quit +# make clean # Remove .o files +# git checkout master # Go back to master branch +# make # Rebuild advent. +# # The diff file produced has corrected spellings in it. That's what oldfilter # is for, to massage out the original spellings and avoid noise diffs. # Diffs in amount of whitespace and trailing whitespace are ignored @@ -144,7 +149,7 @@ count: # # When adding more tests, bear in mind that any game that continues after a # resurrection will need a NOCOMPARE. At some point in the forward port, -# resurrection was accidentally changed in a way that messed wil the LCG chain. +# resurrection was accidentally changed in a way that messed with the LCG chain. # # The *.chk files need not be up-to-date for this to work. # @@ -159,7 +164,7 @@ oldcompare: else \ ./advent430 <$${stem}.log | oldfilter >$${stem}.ochk; \ ../advent <$${stem}.log >$${stem}.log-new; \ - ./newfilter <$${stem}.log-new | tapdiffer -w "$${stem}: $${legend}" $${stem}.ochk; \ + ./newfilter <$${stem}.log-new | tapdiffer -b "$${stem}: $${legend}" $${stem}.ochk; \ fi; \ done; \ echo 1..$(words $(shell ls *.log))) | $(TAPFILTER)