X-Git-Url: https://secure.softndesign.org/git/?a=blobdiff_plain;f=bf.c;fp=bf.c;h=41882a8cd92a08995a34e018fb7a940d72aea832;hb=32237385d42da3d5a18586cb0412c71012a7ec7a;hp=c71b46785fcc047d10da40120bcf3c91b7db1917;hpb=3d8520e3c555b4568b42f241f3ee13e974999871;p=brainfuck.git 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