Consolidate all magicwords tests into one file. 100% coverage.

This commit is contained in:
Eric S. Raymond 2023-04-02 16:03:42 -04:00
parent 9c6219a27d
commit d9ddf4d805
14 changed files with 115 additions and 4254 deletions

View file

@ -108,7 +108,7 @@ buildchecks: savegames
OPTS=`sed -n /#options:/s///p <$${file}.log`; \ OPTS=`sed -n /#options:/s///p <$${file}.log`; \
advent $$OPTS <$${file}.log >$${file}.chk 2>&1 || exit 1; \ advent $$OPTS <$${file}.log >$${file}.chk 2>&1 || exit 1; \
done; \ done; \
echo "inven" | advent isofoo.log /dev/stdin >multifile.chk; \ echo "inven" | advent issue36.log /dev/stdin >multifile.chk; \
rm -f scratch.tmp rm -f scratch.tmp
RUN_TARGETS=$(TESTLOADS:%=run-regress-%) RUN_TARGETS=$(TESTLOADS:%=run-regress-%)
@ -118,7 +118,7 @@ $(RUN_TARGETS): run-regress-%: %.log
$(advent) $$OPTS <$< | tapdiffer "$<: $${legend}" "$${test}.chk") $(advent) $$OPTS <$< | tapdiffer "$<: $${legend}" "$${test}.chk")
multifile-regress: multifile-regress:
@(echo "inven" | advent isofoo.log /dev/stdin) | tapdiffer "multifile: multiple-file test" multifile.chk @(echo "inven" | advent issue36.log /dev/stdin) | tapdiffer "multifile: multiple-file test" multifile.chk
TEST_TARGETS = $(SGAMES) $(SCHECKS) $(RUN_TARGETS) multifile-regress TEST_TARGETS = $(SGAMES) $(SCHECKS) $(RUN_TARGETS) multifile-regress

File diff suppressed because it is too large Load diff

View file

@ -1,296 +0,0 @@
## Test interspersing commands amidst magic words
# Check for "Nothing happens." in game output indicating sequence interrupt.
no
seed 1318612053
e
plugh
plove
get emerald
w
drop emerald
e
ne
get pyramid
s
plove
plugh
drop pyramid
get lamp
get water
plugh
on
s
d
bedquilt
w
e
take pillow
w
oriental
take vase
n
w
take emerald
nw
s
se
w
w
d
water plant
u
e
d
fill bottle
u
e
ne
e
u
e
u
n
plugh
drop pillow
drop vase
drop bottle
drop emerald
xyzzy
take rod
e
take cage
pit
drop rod
e
take bird
w
drop bird
take rod
wave rod
take necklace
drop rod
take bird
d
s
take nugget
n
n
drop bird
take bird
sw
w
kill dragon
yes
drink blood
take rug
e
e
n
take bars
n
plugh
drop cage
drop necklace
drop nugget
drop bars
drop rug
xyzzy
pit
take rod
d
w
wave rod
w
take diamonds
w
w
w
s
s
e
s
hit machine
s
s
kill ogre
n
take ruby
s
w
n
n
sw
w
d
n
e
take coins
e
s
take jewelry
n
e
w
w
w
s
e
s
s
s
n
e
e
nw
drop rod
take jewelry
take chest
take ruby
take diamonds
take coins
se
w
s
d
debris
xyzzy
off
drop coins
drop diamonds
drop jewelry
drop chest
drop lamp
take rug
take emerald
take cage
take bottle
w
s
w
drop bird
listen
drop cage
n
take appendage
n
e
n
n
fill urn
light urn
rub urn
drop rug
take amber
drop emerald
fly
take sapphire
fly
take emerald
drop ruby
take rug
take ruby
e
s
e
e
e
drop emerald
drop ruby
drop amber
drop rug
drop sapphire
fill bottle
take lamp
plugh
on
s
s
sw
w
n
reservoir
n'beh
n
n
u
u
u
u
u
ne
take statuette
sw
d
d
d
d
d
s
s
s
s
d
s
d
water plant
u
e
d
fill bottle
u
w
d
climb
w
take eggs
n
oil door
drop bottle
n
take trident
w
d
bedquilt
e
n
open clam
d
d
take pearl
shell
s
u
e
u
n
plugh
drop trident
drop pearl
drop statuette
drop appendage
take keys
take food
plugh
s
d
bedquilt
w
oriental
w
sw
u
throw eggs
ne
barren
e
throw food
unlock chain
take chain
take bear
fork
ne
fee
fie
look
foe
foo

File diff suppressed because it is too large Load diff

View file

@ -1,344 +0,0 @@
## Test processing of fee fie foe fum
#
# How thry're supposed to work:
#
# 1. The word "fum", from the famous phrase, "fee fie foe fum" is treated
# as a red herring for the player and is handled differently in the
# logic of the game
#
# 2. Each word of the magic phrase and the word "fum" can be preceded by
# the word "say", so "say fee", "say fie", etc. will work, as
# well. For "say fum", 'Okay, "FUM"' should NOT be the response,
# similar to what is seen when other non-magic words are uttered with
# "say"
#
# 3. The sequence is triggered by the first word "fee" only. If any of
# the other words of the phrase or "fum" are said before "fee",
# "nothing happens"
#
# 4. The phrase "fee fie foe foo" must be entered as four separate
# commands, in order, without interruption. A move, like "east" or a
# non-move, like "look", are both considered interruptions
#
# 5. Once the sequence has begun, if any of the words of the phrase,
# including a second "fee", are said out of order, or "fum" is spoken at
# all during the sequence, the player is admonished for not being able
# to read. The assumption here is the player at some point in the time
# had previously read the phrase, but then messes up the order and/or
# thinks "fum" was a part of the phrase when they attempt to speak
# it. The player then must say "fee" again to restart the sequence. And
# to clarify, a second "fee" in the sequence triggers the admonishment,
# it does not restart the sequence
#
# Now that we're at the Giant's Room, actual testing can start
#
n
seed 1838473132
in
take lamp
xyzzy
on
take rod
e
take cage
w
w
w
drop rod
take bird
take rod
w
free bird
wave rod
take necklace
drop rod
take bird
take rod
d
d
free bird
drop rod
drop cage
take cage
take bird
w
take coins
e
s
take jewelry
n
up
s
take gold
n
d
n
n
plugh
extinguish lamp
drop coins
drop jewelry
drop necklace
drop gold
plugh
on
s
take silver
s
sw
take axe
w
kill dragon
yes
drink blood
take rug
e
e
up
d
n
n
off
plugh
inven
drop rug
drop silver
out
s
w
n
take appendage
free bird
drop cage
listen
s
s
n
in
take water
plugh
on
plover
ne
take pyramid
s
plover
s
s
take rod
up
w
wave rod
drop rod
west
take diamonds
w
w
w
s
sw
se
s
kill machine
s
s
kill ogre
n
take ruby
s
w
n
n
n
nw
d
e
e
e
e
e
throw axe
take axe
n
n
n
off
plugh
drop ruby
drop diamonds
drop pyramid
plugh
on
s
s
u
n
n
d
bedquilt
throw axe
take axe
slab
s
d
water plant
u
w
u
reservoir
H'CFL
n
n
nw
u
u
u
u
ne
take ebony
sw
d
d
d
d
d
take water
s
s
s
s
d
s
d
water plant
u
drop appendage
e
d
get oil
u
w
d
climb
w
n
oil door
drop bottle
n
take trident
w
d
se
n
w
drop trident
drop ebony
drop axe
drop lantern
e
take emerald
w
take lamp
take axe
take ebony
take trident
nw
s
take vase
se
throw axe
take axe
e
take pillow
w
drop axe
ne
e
n
open clam
s
u
e
u
n
off
plugh
drop pillow
drop vase
drop trident
drop emerald
drop ebony
take keys
take food
plugh
on
s
d
w
d
n
d
d
take pearl
u
u
s
w
w
w
w
d
climb
w
get eggs
n
take bottle
n
w
d
sw
u
toss eggs
ne
ne
barren
in
feed bear
unlock chain
take chain
take bear
fork
ne
e
take spices
drop keys
fork
w
w
sw
free bear
inven
sw
sw
d
se
se
w
d
get oil
up
e
take axe
w
w
d
climb
w
# We're at Giant Room
fee
fie
foe
fum
quit
yes

View file

@ -126,22 +126,6 @@ There is a bottle of water here.
Nothing happens. Nothing happens.
> say fee
OK
> say fie
OK
> say foe
OK
> say fum
Nothing happens.
> in > in
I don't know in from out here. Use compass points or name something I don't know in from out here. Use compass points or name something
@ -162,7 +146,7 @@ There is a bottle of water here.
What do you want to do with the keys? What do you want to do with the keys?
> >
You scored 27 out of a possible 430, using 21 turns. You scored 27 out of a possible 430, using 17 turns.
You are obviously a rank amateur. Better luck next time. You are obviously a rank amateur. Better luck next time.

View file

@ -24,11 +24,6 @@ eat building
in in
# Z'ZZZ Word correct, but does nothing # Z'ZZZ Word correct, but does nothing
say F'UNJ say F'UNJ
# Say bigwords when giant isn't around
say fee
say fie
say foe
say fum
# Meant to evoke "I don't know in from out here." # Meant to evoke "I don't know in from out here."
in in
keys keys

View file

@ -247,10 +247,6 @@ I believe what you want is right here with you.
You can't unlock the keys. You can't unlock the keys.
> find foo
Nothing happens.
> find bar > find bar
Sorry, I don't know the word "bar". Sorry, I don't know the word "bar".
@ -492,7 +488,7 @@ Okay, "boo".
> score > score
You have garnered 32 out of a possible 430 points, using 102 turns. You have garnered 32 out of a possible 430 points, using 101 turns.
> z > z
@ -500,7 +496,7 @@ OK
> score > score
You have garnered 32 out of a possible 430 points, using 104 turns. You have garnered 32 out of a possible 430 points, using 103 turns.
> quit keys > quit keys
@ -550,7 +546,7 @@ You're outside grate.
The grate is locked. The grate is locked.
> >
You scored 32 out of a possible 430, using 111 turns. You scored 32 out of a possible 430, using 110 turns.
You are obviously a rank amateur. Better luck next time. You are obviously a rank amateur. Better luck next time.

View file

@ -61,7 +61,6 @@ in
listen listen
find keys find keys
unlock keys unlock keys
find foo
find bar find bar
carry carry
blast blast

View file

@ -1,19 +0,0 @@
Welcome to Adventure!! Would you like instructions?
> 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
Nothing happens.
>
You scored 32 out of a possible 430, using 1 turn.
You are obviously a rank amateur. Better luck next time.
To achieve the next higher rating, you need 14 more points.

View file

@ -1,3 +0,0 @@
## Test isolated 'foo' word
n
foo

View file

@ -13,6 +13,14 @@ Seed set to 1838473132
You're in front of building. You're in front of building.
> foo
Nothing happens.
> say foo
Nothing happens.
> in > in
You are inside a building, a well house for a large spring. You are inside a building, a well house for a large spring.
@ -25,6 +33,54 @@ There is food here.
There is a bottle of water here. There is a bottle of water here.
> say fee
OK
> say fie
OK
> say foe
OK
> say foo
Nothing happens.
> z
OK
> say fee
OK
> say fie
OK
> say foe
OK
> say fum
Nothing happens.
> z
OK
> find foo
Nothing happens.
> z
OK
> take lamp > take lamp
OK OK
@ -1822,15 +1878,8 @@ OK
What's the matter, can't you read? Now you'd best start over. What's the matter, can't you read? Now you'd best start over.
> quit >
You scored 253 out of a possible 430, using 317 turns.
Do you really want to quit now?
> yes
OK
You scored 253 out of a possible 430, using 304 turns.
You have reached "Junior Master" status. You have reached "Junior Master" status.

View file

@ -1,4 +1,4 @@
## Test processing of fee fie foe fum ## Test processing of variuus fee fie foe foo fum cases.
# #
# How thry're supposed to work: # How thry're supposed to work:
# #
@ -30,11 +30,26 @@
# to clarify, a second "fee" in the sequence triggers the admonishment, # to clarify, a second "fee" in the sequence triggers the admonishment,
# it does not restart the sequence # it does not restart the sequence
# #
# Now that we're at the Giant's Room, actual testing can start
#
n n
seed 1838473132 seed 1838473132
# Test isolated 'foo' word
foo
say foo
in in
# Say bigwords ending with foo when not in Giant's Room
say fee
say fie
say foe
say foo
z
# Say bigwords ending with fum when not in Giant's Room
say fee
say fie
say foe
say fum
z
find foo
z
take lamp take lamp
xyzzy xyzzy
on on
@ -335,10 +350,8 @@ w
d d
climb climb
w w
# We're at Giant Room # Now that we're at the Giant's Room, actual testing can start
fee fee
fie fie
foe foe
fum fum
quit
yes

View file

@ -1,7 +1,7 @@
Welcome to Adventure!! Would you like instructions? Welcome to Adventure!! Would you like instructions?
> ## Test isolated 'foo' word > ## Test handling of object after transitive verb.
> n > n
> n > n
@ -9,18 +9,44 @@ 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 Around you is a forest. A small stream flows out of the building and
down a gully. down a gully.
> foo > seed 826186526
> foo > seed 826186526
Nothing happens. Seed set to 826186526
You're in front of building.
> in
> in
You are inside a building, a well house for a large spring.
There are some keys on the ground here.
There is a shiny brass lamp nearby.
There is food here.
There is a bottle of water here.
> get
> get
Get what?
> food
> food
OK
> inven > inven
> inven > inven
You're not carrying anything. You are currently holding the following:
Tasty food
You scored 32 out of a possible 430, using 2 turns. You scored 32 out of a possible 430, using 4 turns.
You are obviously a rank amateur. Better luck next time. You are obviously a rank amateur. Better luck next time.