X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=tests%2FMakefile;h=427137bc514030ab82c08633235a5f94b1dd5f1e;hb=2582e240bd504307b206a384008adb4dd545eb19;hp=24ec9bfcb3c43311a1fadb292dbe26f931f7e6d3;hpb=20e1b9d9303a66e492ba1a12437971b817785e84;p=open-adventure.git diff --git a/tests/Makefile b/tests/Makefile index 24ec9bf..427137b 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,6 +1,6 @@ # Test-suite makefile for open-adventure -# SPDX-FileCopyrightText: Eric S. Raymond +# SPDX-FileCopyrightText: Copyright Eric S. Raymond # SPDX-License-Identifier: BSD-2-Clause # Use absolute path so tests that change working directory still use @@ -48,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: @@ -118,24 +112,36 @@ 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)) +foobar: + exit 1 + + # The following machinery tests the game against a binary made from # the advent430 branch To use it, switch to that branch, build the # binary, 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). # +# 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