Improve test coverage.
authorEric S. Raymond <esr@thyrsus.com>
Thu, 7 Apr 2022 10:42:20 +0000 (06:42 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Thu, 7 Apr 2022 10:42:20 +0000 (06:42 -0400)
actions.c
saveresume.c
tests/Makefile
tests/multifile.chk [new file with mode: 0644]
tests/saveresume.4.log

index fe6daa10ea0004d9db5abd393659851021fc0196..fc85e0e7e33c99ea6631885fa6b37bbe946c531a 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -861,8 +861,10 @@ static phase_codes_t fly(verb_t verb, obj_t obj)
         game.newloc = LOC_CLIFF;
         rspeak(RUG_RETURNS);
     } else {
+// LCOV_EXCL_START
        /* should never happen */
        rspeak(NOTHING_HAPPENS);
+// LCOV_EXCL_STOP
     }
     return GO_TERMINATE;
 }
index fb247c91df8679ef669839d1c2d044d4f354fd44..23050778b00c1fb0420a773c1f952b46025d7784 100644 (file)
@@ -107,7 +107,7 @@ int resume(void)
 
     while (fp == NULL) {
         char* name = myreadline("\nFile name: ");
-       // Autocomplete can leave the input with an extra traoling space.
+       // Autocomplete can leave the input with an extra trailing space.
        if (name != NULL && strlen(name) > 0 && name[strlen(name) - 1] == ' ')
            name[strlen(name) - 1] = '\0';
         if (name == NULL)
index 7256b19ee4cecf1b85b5c89ab097ac98ac5adf38..a2892a7558273fdbb3eb4a51dff1ad98205d17a1 100644 (file)
@@ -67,6 +67,7 @@ buildregress: savegames
            OPTS=`sed -n /#options:/s///p <$${file}.log`; \
            advent $$OPTS <$${file}.log >$${file}.chk 2>&1 || exit 1; \
        done; \
+       echo "inven" | advent isofoo.log /dev/stdin >multifile.chk
        rm -f scratch.tmp
 
 savecheck: savegames
@@ -96,17 +97,19 @@ regress:
            then diff --text -u $${file}.chk /tmp/regress$$$$ || exit 1; \
            else echo "*** Nonzero return status on $${file}!"; exit 1; fi \
        done; \
+       $(ECHO) "  multifile ## Test multiple file arguments"
+       @(echo "inven" | advent isofoo.log /dev/stdin | diff --text -u multifile.chk -) || exit 1
        rm -f scratch.tmp /tmp/regress$$$$
 
 # Steps towards TAP and parallelization.
 # There's a blocker in that the log tests can't be run concurrently
-# due to isssues with colliding save files.
+# due to issues with colliding save files.
 
 # The TAP filter. Only affects presentation of the test suite messages
 TAPCONSUMER=tappy
 
 # Fall back to safety if our declared TAP consumer does not exist.
-# This is helpful in the CI environment, where it wiuld be better for
+# This is helpful in the CI environment, where it would be better for
 # the logfiles to carry the raw TAP messages. 
 TAPFILTER=$(shell command -v $(TAPCONSUMER) || echo cat)
 
diff --git a/tests/multifile.chk b/tests/multifile.chk
new file mode 100644 (file)
index 0000000..910fee2
--- /dev/null
@@ -0,0 +1,27 @@
+
+Welcome to Adventure!!  Would you like instructions?
+
+> ## Test isolated 'foo' word
+> n
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest.  A small stream flows out of the building and
+down a gully.
+
+> foo
+> foo
+
+Nothing happens.
+
+> inven
+> inven
+
+You're not carrying anything.
+
+
+You scored 32 out of a possible 430, using 2 turns.
+
+You are obviously a rank amateur.  Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
index a2d5901f0ce07b12f6434c94ead6f16787f2260a..caa80983d80d8d96bea928136a4e85abbab9b85d 100644 (file)
@@ -1,7 +1,8 @@
 ## Resume, then win
 # Here to get class threshold of 426
+# Note, savefile name has trailing space
 n
 resume
 y
-saveresume_win.adv
-blast
\ No newline at end of file
+saveresume_win.adv 
+blast