This commit is contained in:
2025-03-21 10:51:17 +10:00
commit 1139e086fc
76 changed files with 2715 additions and 0 deletions

589
a1results.txt Normal file
View File

@@ -0,0 +1,589 @@
gcc -std=c99 -Wall -pedantic -I/local/courses/csse2310/include -L/local/courses/csse2310/lib -lcsse2310a1 -o wordle wordle.c wordle.h
gcc -std=c99 -Wall -pedantic -I/local/courses/csse2310/include -L/local/courses/csse2310/lib -lcsse2310a1 -g -o wordle-debug wordle.c wordle.h
.../s4638520/Documents/CSSE2310/assessment1/wordle.h OK
.../s4638520/Documents/CSSE2310/assessment1/wordle.c OK
THIS IS NOT A GUARANTEE OF CORRECTNESS
THE STYLE GUIDE IS FINAL
Setting up for tests
Time: Tue Mar 22 13:08:55 AEST 2022
Running make...
make: Nothing to be done for 'all'.
Running tests ...
----------------------------------------------------------------------
1.1 - invalid_usage01 PASS
1.2 - invalid_usage02 PASS
1.3 - invalid_usage03 PASS
1.4 - invalid_usage04 PASS
1.5 - invalid_usage05 PASS
1.6 - invalid_usage06 PASS
1.7 - invalid_usage07 PASS
1.8 - invalid_usage08 PASS
1.9 - invalid_usage09 PASS
1.10 - invalid_usage10 PASS
1.11 - invalid_usage11 PASS
1.12 - invalid_usage12 PASS
1.13 - invalid_usage13 PASS
1.14 - invalid_usage14 PASS
1.15 - invalid_usage15 PASS
1.16 - invalid_usage16 PASS
1.17 - invalid_usage17 PASS
1.18 - invalid_usage18 PASS
1.19 - invalid_usage19 PASS
1.20 - invalid_usage20 PASS
2.1 - invalid_file01 PASS
2.2 - invalid_file02 PASS
2.3 - invalid_file03 PASS
2.4 - invalid_file04 PASS
2.5 - invalid_file05 PASS
2.6 - invalid_file06 PASS
2.7 - invalid_file07 PASS
2.8 - invalid_file08 PASS
3.1 - prompt01 PASS
3.2 - prompt02 PASS
4.1 - wrong_len01 PASS
4.2 - wrong_len02 PASS
4.3 - wrong_len03 PASS
5.1 - non_letters01 PASS
5.2 - non_letters02 PASS
5.3 - non_letters03 PASS
6.1 - incorrect_guesses01 PASS
6.2 - incorrect_guesses02 PASS
6.3 - incorrect_guesses03 PASS
6.4 - incorrect_guesses04 PASS
7.1 - various_capitalisation01 PASS
7.2 - various_capitalisation02 PASS
7.3 - various_capitalisation03 PASS
7.4 - various_capitalisation04 PASS
8.1 - running_out_of_attempts01 PASS
8.2 - running_out_of_attempts02 PASS
8.3 - running_out_of_attempts03 PASS
9.1 - handles_eof01 PASS
9.2 - handles_eof02 PASS
10.1 - right_answer01 PASS
10.2 - right_answer02 PASS
----------------------------------------------------------------------
Cleaning up ...
Done
----------------------------------------------------------------------
=== 1.1 - invalid_usage01 ===
Description: Check that args 'one two' considered invalid
What the test runs:
./wordle 'one' 'two' > 1.1.stdout 2> 1.1.stderr
What the test checks:
Expect exit code: 1
Standard output (1.1.stdout) should match testfiles/empty
Standard error (1.1.stderr) should match testfiles/1.1.stderr
=== 1.2 - invalid_usage02 ===
Description: Check that args 'one two three' considered invalid
What the test runs:
./wordle 'one' 'two' 'three' > 1.2.stdout 2> 1.2.stderr
What the test checks:
Expect exit code: 1
Standard output (1.2.stdout) should match testfiles/empty
Standard error (1.2.stderr) should match testfiles/1.1.stderr
=== 1.3 - invalid_usage03 ===
Description: Check that args 'one two three four' considered invalid
What the test runs:
./wordle 'one' 'two' 'three' 'four' > 1.3.stdout 2> 1.3.stderr
What the test checks:
Expect exit code: 1
Standard output (1.3.stdout) should match testfiles/empty
Standard error (1.3.stderr) should match testfiles/1.1.stderr
=== 1.4 - invalid_usage04 ===
Description: Check that args 'one two three four five' considered invalid
What the test runs:
./wordle 'one' 'two' 'three' 'four' 'five' > 1.4.stdout 2> 1.4.stderr
What the test checks:
Expect exit code: 1
Standard output (1.4.stdout) should match testfiles/empty
Standard error (1.4.stderr) should match testfiles/1.1.stderr
=== 1.5 - invalid_usage05 ===
Description: Check that args 'one two three four five six' considered
invalid
What the test runs:
./wordle 'one' 'two' 'three' 'four' 'five' 'six' > 1.5.stdout 2> 1.5.stderr
What the test checks:
Expect exit code: 1
Standard output (1.5.stdout) should match testfiles/empty
Standard error (1.5.stderr) should match testfiles/1.1.stderr
=== 1.6 - invalid_usage06 ===
Description: Check that args '-max' considered invalid
What the test runs:
./wordle '-max' > 1.6.stdout 2> 1.6.stderr
What the test checks:
Expect exit code: 1
Standard output (1.6.stdout) should match testfiles/empty
Standard error (1.6.stderr) should match testfiles/1.1.stderr
=== 1.7 - invalid_usage07 ===
Description: Check that args '-len' considered invalid
What the test runs:
./wordle '-len' > 1.7.stdout 2> 1.7.stderr
What the test checks:
Expect exit code: 1
Standard output (1.7.stdout) should match testfiles/empty
Standard error (1.7.stderr) should match testfiles/1.1.stderr
=== 1.8 - invalid_usage08 ===
Description: Check that args '-max nonnumber' considered invalid
What the test runs:
./wordle '-max' 'nonnumber' > 1.8.stdout 2> 1.8.stderr
What the test checks:
Expect exit code: 1
Standard output (1.8.stdout) should match testfiles/empty
Standard error (1.8.stderr) should match testfiles/1.1.stderr
=== 1.9 - invalid_usage09 ===
Description: Check that args '-len nonnumber' considered invalid
What the test runs:
./wordle '-len' 'nonnumber' > 1.9.stdout 2> 1.9.stderr
What the test checks:
Expect exit code: 1
Standard output (1.9.stdout) should match testfiles/empty
Standard error (1.9.stderr) should match testfiles/1.1.stderr
=== 1.10 - invalid_usage10 ===
Description: Check that args '-max 5 -len' considered invalid
What the test runs:
./wordle '-max' '5' '-len' > 1.10.stdout 2> 1.10.stderr
What the test checks:
Expect exit code: 1
Standard output (1.10.stdout) should match testfiles/empty
Standard error (1.10.stderr) should match testfiles/1.1.stderr
=== 1.11 - invalid_usage11 ===
Description: Check that args '-max 2' considered invalid
What the test runs:
./wordle '-max' '2' > 1.11.stdout 2> 1.11.stderr
What the test checks:
Expect exit code: 1
Standard output (1.11.stdout) should match testfiles/empty
Standard error (1.11.stderr) should match testfiles/1.1.stderr
=== 1.12 - invalid_usage12 ===
Description: Check that args '-max 10' considered invalid
What the test runs:
./wordle '-max' '10' > 1.12.stdout 2> 1.12.stderr
What the test checks:
Expect exit code: 1
Standard output (1.12.stdout) should match testfiles/empty
Standard error (1.12.stderr) should match testfiles/1.1.stderr
=== 1.13 - invalid_usage13 ===
Description: Check that args '-max 3abc' considered invalid
What the test runs:
./wordle '-max' '3abc' > 1.13.stdout 2> 1.13.stderr
What the test checks:
Expect exit code: 1
Standard output (1.13.stdout) should match testfiles/empty
Standard error (1.13.stderr) should match testfiles/1.1.stderr
=== 1.14 - invalid_usage14 ===
Description: Check that args '-max 3 dictionary extra-arg' considered
invalid
What the test runs:
./wordle '-max' '3' 'dictionary' 'extra-arg' > 1.14.stdout 2> 1.14.stderr
What the test checks:
Expect exit code: 1
Standard output (1.14.stdout) should match testfiles/empty
Standard error (1.14.stderr) should match testfiles/1.1.stderr
=== 1.15 - invalid_usage15 ===
Description: Check that args '-max 8 -len nonnumber' considered invalid
What the test runs:
./wordle '-max' '8' '-len' 'nonnumber' > 1.15.stdout 2> 1.15.stderr
What the test checks:
Expect exit code: 1
Standard output (1.15.stdout) should match testfiles/empty
Standard error (1.15.stderr) should match testfiles/1.1.stderr
=== 1.16 - invalid_usage16 ===
Description: Check that args '-max 8 -max 8' considered invalid
What the test runs:
./wordle '-max' '8' '-max' '8' > 1.16.stdout 2> 1.16.stderr
What the test checks:
Expect exit code: 1
Standard output (1.16.stdout) should match testfiles/empty
Standard error (1.16.stderr) should match testfiles/1.1.stderr
=== 1.17 - invalid_usage17 ===
Description: Check that args '-guess' considered invalid
What the test runs:
./wordle '-guess' > 1.17.stdout 2> 1.17.stderr
What the test checks:
Expect exit code: 1
Standard output (1.17.stdout) should match testfiles/empty
Standard error (1.17.stderr) should match testfiles/1.1.stderr
=== 1.18 - invalid_usage18 ===
Description: Check that args '-max 3 -max 5 /usr/share/dict/words'
considered invalid
What the test runs:
./wordle '-max' '3' '-max' '5' '/usr/share/dict/words' > 1.18.stdout 2> 1.18.stderr
What the test checks:
Expect exit code: 1
Standard output (1.18.stdout) should match testfiles/empty
Standard error (1.18.stderr) should match testfiles/1.1.stderr
=== 1.19 - invalid_usage19 ===
Description: Check that args '-max 5 -len 5 /usr/share/dict/words extra'
considered invalid
What the test runs:
./wordle '-max' '5' '-len' '5' '/usr/share/dict/words' 'extra' > 1.19.stdout 2> 1.19.stderr
What the test checks:
Expect exit code: 1
Standard output (1.19.stdout) should match testfiles/empty
Standard error (1.19.stderr) should match testfiles/1.1.stderr
=== 1.20 - invalid_usage20 ===
Description: Check that args '-guess 8' considered invalid
What the test runs:
./wordle '-guess' '8' > 1.20.stdout 2> 1.20.stderr
What the test checks:
Expect exit code: 1
Standard output (1.20.stdout) should match testfiles/empty
Standard error (1.20.stderr) should match testfiles/1.1.stderr
=== 2.1 - invalid_file01 ===
Description: Dictionary 'hello.there.csse2310' unable to be opened with
program args ''
What the test runs:
./wordle 'hello.there.csse2310' > 2.1.stdout 2> 2.1.stderr
What the test checks:
Expect exit code: 2
Standard output (2.1.stdout) should match testfiles/empty
Standard error (2.1.stderr) should match testfiles/2.1.stderr
=== 2.2 - invalid_file02 ===
Description: Dictionary '/does/not/exist' unable to be opened with
program args ''
What the test runs:
./wordle '/does/not/exist' > 2.2.stdout 2> 2.2.stderr
What the test checks:
Expect exit code: 2
Standard output (2.2.stdout) should match testfiles/empty
Standard error (2.2.stderr) should match testfiles/2.2.stderr
=== 2.3 - invalid_file03 ===
Description: Dictionary '/var/log/cron' unable to be opened with program
args ''
What the test runs:
./wordle '/var/log/cron' > 2.3.stdout 2> 2.3.stderr
What the test checks:
Expect exit code: 2
Standard output (2.3.stdout) should match testfiles/empty
Standard error (2.3.stderr) should match testfiles/2.3.stderr
=== 2.4 - invalid_file04 ===
Description: Dictionary '../nope' unable to be opened with program args ''
What the test runs:
./wordle '../nope' > 2.4.stdout 2> 2.4.stderr
What the test checks:
Expect exit code: 2
Standard output (2.4.stdout) should match testfiles/empty
Standard error (2.4.stderr) should match testfiles/2.4.stderr
=== 2.5 - invalid_file05 ===
Description: Dictionary 'hello.there.csse2310' unable to be opened with
program args '-len 4'
What the test runs:
./wordle '-len' '4' 'hello.there.csse2310' > 2.5.stdout 2> 2.5.stderr
What the test checks:
Expect exit code: 2
Standard output (2.5.stdout) should match testfiles/empty
Standard error (2.5.stderr) should match testfiles/2.5.stderr
=== 2.6 - invalid_file06 ===
Description: Dictionary '/does/not/exist' unable to be opened with
program args '-len 4'
What the test runs:
./wordle '-len' '4' '/does/not/exist' > 2.6.stdout 2> 2.6.stderr
What the test checks:
Expect exit code: 2
Standard output (2.6.stdout) should match testfiles/empty
Standard error (2.6.stderr) should match testfiles/2.6.stderr
=== 2.7 - invalid_file07 ===
Description: Dictionary '/var/log/cron' unable to be opened with program
args '-len 4'
What the test runs:
./wordle '-len' '4' '/var/log/cron' > 2.7.stdout 2> 2.7.stderr
What the test checks:
Expect exit code: 2
Standard output (2.7.stdout) should match testfiles/empty
Standard error (2.7.stderr) should match testfiles/2.7.stderr
=== 2.8 - invalid_file08 ===
Description: Dictionary '../nope' unable to be opened with program args
'-len 4'
What the test runs:
./wordle '-len' '4' '../nope' > 2.8.stdout 2> 2.8.stderr
What the test checks:
Expect exit code: 2
Standard output (2.8.stdout) should match testfiles/empty
Standard error (2.8.stderr) should match testfiles/2.8.stderr
=== 3.1 - prompt01 ===
Description: Check for welcome and prompt
What the test runs:
testfiles/run_wordle.sh 'right' '/dev/null' '-lines' '2' > 3.1.stdout 2> 3.1.stderr
What the test checks:
Standard output (3.1.stdout) should match testfiles/3.1.stdout
=== 3.2 - prompt02 ===
Description: Check for welcome and prompt 2
What the test runs:
testfiles/run_wordle.sh 'right' '/dev/null' '-lines' '2' '-max' '3' > 3.2.stdout 2> 3.2.stderr
What the test checks:
Standard output (3.2.stdout) should match testfiles/3.2.stdout
=== 4.1 - wrong_len01 ===
Description: Check guess of length 4 with default word length
What the test runs:
testfiles/run_wordle.sh 'right' 'testfiles/wronglen.1' > 4.1.stdout 2> 4.1.stderr
What the test checks:
Standard output (4.1.stdout) should match testfiles/4.1.stdout
=== 4.2 - wrong_len02 ===
Description: Check guess of length 0 with default word length
What the test runs:
testfiles/run_wordle.sh 'right' 'testfiles/wronglen.2' > 4.2.stdout 2> 4.2.stderr
What the test checks:
Standard output (4.2.stdout) should match testfiles/4.1.stdout
=== 4.3 - wrong_len03 ===
Description: Check guesses that are too long (word length 4)
What the test runs:
testfiles/run_wordle.sh 'word' 'testfiles/wronglen.3' '-len' '4' > 4.3.stdout 2> 4.3.stderr
What the test checks:
Standard output (4.3.stdout) should match testfiles/4.3.stdout
=== 5.1 - non_letters01 ===
Description: Check program handles guesses with non letters - with args
'-len 6 -max 7'
What the test runs:
testfiles/run_wordle.sh 'right' 'testfiles/nonletters.1' > 5.1.stdout 2> 5.1.stderr
What the test checks:
Standard output (5.1.stdout) should match testfiles/5.1.stdout
=== 5.2 - non_letters02 ===
Description: Check program handles guesses with non letters - with args
'-len 6 -max 7'
What the test runs:
testfiles/run_wordle.sh 'there' 'testfiles/nonletters.2' > 5.2.stdout 2> 5.2.stderr
What the test checks:
Standard output (5.2.stdout) should match testfiles/5.2.stdout
=== 5.3 - non_letters03 ===
Description: Check program handles guesses with non letters - with args
'-len 6 -max 7'
What the test runs:
testfiles/run_wordle.sh 'cat' 'testfiles/nonletters.3' '-len' '3' > 5.3.stdout 2> 5.3.stderr
What the test checks:
Standard output (5.3.stdout) should match testfiles/5.3.stdout
=== 6.1 - incorrect_guesses01 ===
Description: Single invalid guess, default dictionary and other options
What the test runs:
testfiles/run_wordle.sh 'lines' 'testfiles/invalid.1' > 6.1.stdout 2> 6.1.stderr
What the test checks:
Standard output (6.1.stdout) should match testfiles/6.1.stdout
=== 6.2 - incorrect_guesses02 ===
Description: Multiple invalid guesses, default dictionary and other
options
What the test runs:
testfiles/run_wordle.sh 'guess' 'testfiles/invalid.2' > 6.2.stdout 2> 6.2.stderr
What the test checks:
Standard output (6.2.stdout) should match testfiles/6.2.stdout
Expect exit code: 3
=== 6.3 - incorrect_guesses03 ===
Description: Multiple invalid guesses, supplied dictionary and default
other options
What the test runs:
testfiles/run_wordle.sh 'marks' 'testfiles/invalid.3' '/local/courses/csse2310/etc/common-words' > 6.3.stdout 2> 6.3.stderr
What the test checks:
Standard output (6.3.stdout) should match testfiles/6.2.stdout
=== 6.4 - incorrect_guesses04 ===
Description: Multiple invalid guesses, default dictionary, other args
given
What the test runs:
testfiles/run_wordle.sh 'answer' 'testfiles/invalid.4' '-len' '6' > 6.4.stdout 2> 6.4.stderr
What the test checks:
Standard output (6.4.stdout) should match testfiles/6.4.stdout
=== 7.1 - various_capitalisation01 ===
Description: Single incorrect guess, default dictionary and other options
What the test runs:
testfiles/run_wordle.sh 'hands' 'testfiles/incorrect.1' > 7.1.stdout 2> 7.1.stderr
What the test checks:
Standard output (7.1.stdout) should match testfiles/7.1.stdout
=== 7.2 - various_capitalisation02 ===
Description: Multiple incorrect guesses, default dictionary and other
options
What the test runs:
testfiles/run_wordle.sh 'guess' 'testfiles/incorrect.2' > 7.2.stdout 2> 7.2.stderr
What the test checks:
Standard output (7.2.stdout) should match testfiles/7.2.stdout
=== 7.3 - various_capitalisation03 ===
Description: Multiple incorrect guesses, supplied dictionary and default
other options
What the test runs:
testfiles/run_wordle.sh 'marks' 'testfiles/incorrect.3' '/local/courses/csse2310/etc/common-words' > 7.3.stdout 2> 7.3.stderr
What the test checks:
Standard output (7.3.stdout) should match testfiles/7.3.stdout
=== 7.4 - various_capitalisation04 ===
Description: Multiple incorrect guesses, default dictionary, other
args given
What the test runs:
testfiles/run_wordle.sh 'answer' 'testfiles/incorrect.4' '-len' '6' > 7.4.stdout 2> 7.4.stderr
What the test checks:
Standard output (7.4.stdout) should match testfiles/7.4.stdout
=== 8.1 - running_out_of_attempts01 ===
Description: Multiple incorrect guesses, default dictionary and other
options
What the test runs:
testfiles/run_wordle.sh 'guess' 'testfiles/incorrect.2' > 8.1.stdout 2> 8.1.stderr
What the test checks:
Expect exit code: 3
Standard output (8.1.stdout) should match testfiles/8.1.stdout
Standard error (8.1.stderr) should match testfiles/8.1.stderr
=== 8.2 - running_out_of_attempts02 ===
Description: Multiple incorrect guesses, supplied dictionary and max
3 guesses
What the test runs:
testfiles/run_wordle.sh 'marks' 'testfiles/incorrect.3' '-max' '3' '/local/courses/csse2310/etc/common-words' > 8.2.stdout 2> 8.2.stderr
What the test checks:
Expect exit code: 3
Standard output (8.2.stdout) should match testfiles/8.2.stdout
Standard error (8.2.stderr) should match testfiles/8.2.stderr
=== 8.3 - running_out_of_attempts03 ===
Description: Multiple incorrect guesses, default dictionary, word length 6
What the test runs:
testfiles/run_wordle.sh 'answer' 'testfiles/incorrect.4' '-len' '6' > 8.3.stdout 2> 8.3.stderr
What the test checks:
Expect exit code: 3
Standard output (8.3.stdout) should match testfiles/8.3.stdout
Standard error (8.3.stderr) should match testfiles/8.3.stderr
=== 9.1 - handles_eof01 ===
Description: Single blank line input before EOF
What the test runs:
testfiles/run_wordle.sh 'right' 'testfiles/eof.1' > 9.1.stdout 2> 9.1.stderr
What the test checks:
Expect exit code: 3
Standard output (9.1.stdout) should match testfiles/9.1.stdout
Standard error (9.1.stderr) should match testfiles/9.1.stderr
=== 9.2 - handles_eof02 ===
Description: EOF after second guess (before newline)
What the test runs:
testfiles/run_wordle.sh 'right' 'testfiles/eof.2' > 9.2.stdout 2> 9.2.stderr
What the test checks:
Expect exit code: 3
Standard output (9.2.stdout) should match testfiles/9.2.stdout
Standard error (9.2.stderr) should match testfiles/9.1.stderr
=== 10.1 - right_answer01 ===
Description: Correct answer on third guess
What the test runs:
testfiles/run_wordle.sh 'right' 'testfiles/right.1' > 10.1.stdout 2> 10.1.stderr
What the test checks:
Expect exit code: 0
Standard output (10.1.stdout) should match testfiles/10.1.stdout
Standard error (10.1.stderr) should match testfiles/empty
=== 10.2 - right_answer02 ===
Description: Correct answer on third guess - mixed capitalisation
What the test runs:
testfiles/run_wordle.sh 'right' 'testfiles/right.2' > 10.2.stdout 2> 10.2.stderr
What the test checks:
Expect exit code: 0
Standard output (10.2.stdout) should match testfiles/10.1.stdout
Standard error (10.2.stderr) should match testfiles/empty
----------------------------------------------------------------------
Cleaning up ...
Done
==2665080== Memcheck, a memory error detector
==2665080== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==2665080== Using Valgrind-3.17.0 and LibVEX; rerun with -h for copyright info
==2665080== Command: ./wordle-debug 100words.txt
==2665080==
Bad luck - the word is "diary".
Welcome to Wordle!
Enter a 5 letter word (6 attempts remaining):
==2665080==
==2665080== HEAP SUMMARY:
==2665080== in use at exit: 0 bytes in 0 blocks
==2665080== total heap usage: 138 allocs, 138 frees, 34,477 bytes allocated
==2665080==
==2665080== All heap blocks were freed -- no leaks are possible
==2665080==
==2665080== For lists of detected and suppressed errors, rerun with: -s
==2665080== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)