Reduce test makefile verbosity under Emacs.
authorEric S. Raymond <esr@thyrsus.com>
Wed, 5 Jul 2017 08:35:58 +0000 (04:35 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Wed, 5 Jul 2017 15:09:56 +0000 (11:09 -0400)
tests/Makefile

index 8092aab196f040e7215998cdae2c42426b095960..db49d9d5a78221dee7ce5423281f61b43da7d1e3 100644 (file)
@@ -6,6 +6,9 @@
 PATH := $(realpath ..):$(realpath .):${PATH}
 GCOV?=gcov
 
+# Make this overrideable so it's easier to test old versions
+advent?=advent
+
 # Defeat annoying behavior under Mac OS X - builtin echo doesn't do -n
 ECHO := /bin/echo
 
@@ -39,17 +42,17 @@ listcheck:
 
 # Generate bogus savegames.
 savegames:
-       $(ECHO) "cheat: Generate save file with -1000 deaths"
-       ../cheat -d -1000 -o cheat_numdie.adv > /tmp/cheat_numdie
-       $(ECHO) "cheat: Generate save file with version -1337"
-       ../cheat -v -1337 -o resume_badversion.adv > /tmp/cheat_badversion
-       $(ECHO) "cheat: Generate save file 1000 saves"
-       ../cheat -s -1000 -o thousand_saves.adv > /tmp/cheat_1000saves
-       $(ECHO) "cheat: Generate save file 1000 turns"
-       ../cheat -t -1000 -o thousand_saves.adv > /tmp/cheat_1000turns
-       $(ECHO) "cheat: Generate save file 1000 turns"
-       ../cheat -l -1000 -o thousand_lamp.adv > /tmp/cheat_1000lamp
-       rm -f /tmp/cheat*
+       @$(ECHO) "cheat: Generate save file with -1000 deaths"
+       @../cheat -d -1000 -o cheat_numdie.adv > /tmp/cheat_numdie
+       @$(ECHO) "cheat: Generate save file with version -1337"
+       @../cheat -v -1337 -o resume_badversion.adv > /tmp/cheat_badversion
+       @$(ECHO) "cheat: Generate save file 1000 saves"
+       @../cheat -s -1000 -o thousand_saves.adv > /tmp/cheat_1000saves
+       @$(ECHO) "cheat: Generate save file 1000 turns"
+       @../cheat -t -1000 -o thousand_saves.adv > /tmp/cheat_1000turns
+       @$(ECHO) "cheat: Generate save file 1000 turns"
+       @../cheat -l -1000 -o thousand_lamp.adv > /tmp/cheat_1000lamp
+       @rm -f /tmp/cheat*
 
 
 # Rebuild characterizing tests
@@ -63,21 +66,21 @@ buildregress: savegames
        rm -f scratch.tmp
 
 savecheck: savegames
-       $(ECHO) "TEST cheat: Bogus option for save file generation"
-       ../cheat -QqQ 2> /tmp/coverage_cheat_batopt | true
-       $(ECHO) "TEST cheat: No save file specified"
-       ../cheat 2>/dev/null | true
-       $(ECHO) "TEST cheat: Fail to save because we omit -o"
-       ../cheat -d 1 2> /tmp/coverage_cheat_nooutput | true
-       $(ECHO) "TEST cheat: Fail to save to invalid path"
-       ../cheat -o / 2> /tmp/coverage_cheat_badoutput | true
-       $(ECHO) "TEST advent: Start with invalid file with -r"
-       advent -r /badfilename < pitfall.log > /tmp/coverage_advent_readfail 2>&1 || exit 1
-       $(ECHO) "TEST advent: Start with invalid file with -r"
-       advent -l / < pitfall.log > /tmp/coverage_advent_logfail 2>&1 || exit 1
-       $(ECHO) "TEST advent: Test -r with valid input"
-       advent -r thousand_saves.adv < pitfall.log > /tmp/coverage_advent_readfail 2>&1 || exit 1
-       rm -f /tmp/coverage*
+       @$(ECHO) "TEST cheat: Bogus option for save file generation"
+       @../cheat -QqQ 2> /tmp/coverage_cheat_batopt | true
+       @$(ECHO) "TEST cheat: No save file specified"
+       @../cheat 2>/dev/null | true
+       @$(ECHO) "TEST cheat: Fail to save because we omit -o"
+       @../cheat -d 1 2> /tmp/coverage_cheat_nooutput | true
+       @$(ECHO) "TEST cheat: Fail to save to invalid path"
+       @../cheat -o / 2> /tmp/coverage_cheat_badoutput | true
+       @$(ECHO) "TEST advent: Start with invalid file with -r"
+       @advent -r /badfilename < pitfall.log > /tmp/coverage_advent_readfail 2>&1 || exit 1
+       @$(ECHO) "TEST advent: Start with invalid file with -r"
+       @advent -l / < pitfall.log > /tmp/coverage_advent_logfail 2>&1 || exit 1
+       @$(ECHO) "TEST advent: Test -r with valid input"
+       @advent -r thousand_saves.adv < pitfall.log > /tmp/coverage_advent_readfail 2>&1 || exit 1
+       @rm -f /tmp/coverage*
 
 # General regression testing of commands and output; look at the *.log and
 # corresponding *.chk files to see which tests this runs.
@@ -85,7 +88,7 @@ regress:
        @for file in $(TESTLOADS); do \
            $(ECHO) -n "  $${file} "; grep '##' $${file}.log  || echo ' ## (no description)'; \
            OPTS=`sed -n /#options:/s///p <$${file}.log`; \
-           if advent $$OPTS < $${file}.log >/tmp/regress$$$$ 2>&1; \
+           if $(advent) $$OPTS < $${file}.log >/tmp/regress$$$$ 2>&1; \
            then diff --text -u $${file}.chk /tmp/regress$$$$ || exit 1; \
            else echo "*** Nonzero return status on $${file}!"; exit 1; fi \
        done; \