From 32237385d42da3d5a18586cb0412c71012a7ec7a Mon Sep 17 00:00:00 2001 From: Laurent Mazet Date: Thu, 21 Dec 2023 10:40:45 +0100 Subject: [PATCH] increase test coverage --- bf.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/bf.c b/bf.c index c71b467..41882a8 100644 --- a/bf.c +++ b/bf.c @@ -186,7 +186,7 @@ int main (int argc, char *argv[]) } } if (*optarg != 0) { - VERBOSE (WARNING, fprintf (stderr, "%s: too many memory values\n", progname)); + VERBOSE (WARNING, fprintf (stderr, "%s: too many memory values or incorrect value\n", progname)); return 1; } break; @@ -269,15 +269,35 @@ int main (int argc, char *argv[]) // test: bf.exe -h // test: bf.exe -h | awk '/usage:/ { rc=1 } END { exit (1-rc) }' + // test: bf.exe -_ 2> /dev/null | awk 'END { if (NR == 0) { exit(0) } else exit (1) }' // test: bf.exe -_ 2>&1 | awk '/usage:/ { rc=1 } END { exit (1-rc) }' +// test: bf.exe error 2>&1 | awk '/usage:/ { rc=1 } END { exit (1-rc) }' + // test: bf.exe -i error.b 2>&1 | grep "can't open" | grep -q "reading" // test: echo ">>." | bf.exe -o error/error.b 2>&1 | grep "can't open" | grep -q "writing" +// test: echo "error" | bf.exe -v1 2>&1 | grep -q "can't understand" +// test: echo "<+" | bf.exe -v1 2>&1 | grep -q "invalid address" +// test: echo "<-" | bf.exe -v1 2>&1 | grep -q "invalid address" +// test: echo "<." | bf.exe -v1 2>&1 | grep -q "invalid address" +// test: echo "<," | bf.exe -v1 2>&1 | grep -q "invalid address" +// test: echo "<[" | bf.exe -v1 2>&1 | grep -q "invalid address" +// test: echo "[" | bf.exe -v1 2>&1 | grep -q "brace not closed" +// test: echo "+[[[[[]]]]]" | bf.exe -v1 2>&1 | grep -q "too many jump" +// test: bf.exe -m "0 1 2 3 4 5 6 7 8 9 10" -e '.' -v1 2>&1 | grep -q "too many memory values" +// test: bf.exe -m "0 error" -e '.' -v1 2>&1 | grep -q "incorrect value" +// test: echo "]" | bf.exe -v1 2>&1 | grep -q "can't jump back" + // test: echo '+++>++>>-<--' | bf.exe -v2 | grep -q "memory: 3 2 -2 -1 0" +// test: bf.exe -e '+++' -e '+++>++>>-<--' -v2 | grep -q "memory: 3 2 -2 -1 0" // test: bf.exe -e '+++>++>>-<--' -v2 | grep -q "memory: 3 2 -2 -1 0" // test: bf.exe -m "51 50 49" -e '.>.>.' |grep -q "321" +// test: bf.exe -m "51 50 49" -e '.>.>.' -o test.log | grep -q "321" test.log; rc=$?; rm test.log; test $rc -eq 0 +// test: echo '+++>++>>-<--' > test.b | bf.exe -i test.b | grep -q "memory: 3 2 -2 -1 0"; rc=$?; rm test.b; test $rc -eq 0 + // test: echo '++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.' | bf.exe -v1 | grep -q "Hello World!" // test: echo '++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>++++++++++++++.>+++++++++++++++++.<<++.>+++++++++++++.>--.<<.>+++.+.--.>----.++++++.+.<++.>----.++.<<.>>+.-------.<<.>>++.<.>+++++.<<.>-.+.<.>---.>---.<-.++++++++.>----.<---.>+++++++.<---.++++++++.' | bf.exe -v1 | grep -q "Tu as decouvert un peu de brainfuck" + // test: echo -e "123\0" | bf.exe -e ',[>,]' -v2 | grep -q "memory: 49 50 51 0" // test: echo -e "4+3\0" | bf.exe -e ',>++++++[<-------->-],,[<+>-]<.' -v1 | grep -q 7 // test: echo -e "1+7\0" | bf.exe -e ',>++++++[<-------->-],,[<+>-]<.' -v1 | grep -q 8 -- 2.30.2