diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-02-17 17:27:38 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-02-17 17:27:38 +0000 |
commit | c85746b6a6c3080bac409e0acb8cc8b332b2761e (patch) | |
tree | 7e37429cbe6014e2ed6aba6466b69cf914e2af38 /test_parser.sh | |
parent | b81f60d8b523260526af15361d4ce0ac4a7757c8 (diff) | |
download | Compiler-c85746b6a6c3080bac409e0acb8cc8b332b2761e.tar.gz Compiler-c85746b6a6c3080bac409e0acb8cc8b332b2761e.zip |
Finished compound statement for function and added test cases
Diffstat (limited to 'test_parser.sh')
-rwxr-xr-x | test_parser.sh | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/test_parser.sh b/test_parser.sh index 5f8e606..96644c2 100755 --- a/test_parser.sh +++ b/test_parser.sh @@ -9,10 +9,33 @@ echo " Force building lexer" make -B bin/c_parser if [[ "$?" -ne 0 ]]; then - echo "Build failed."; + echo "Build failed."; fi +echo "" +echo "" echo "=========================================" -echo " Testing lexer" +echo " Testing parser" -cat c_parser/test/test_parser.c | ./bin/c_parser | tee c_parser/test/output.xml +PASSED=0 +CHECKED=0 + +for i in c_parser/test/in/*.c; do + echo "===========================" + echo "" + echo "Input file : ${i}" + BASENAME=$(basename $i .c); + cat $i | ./bin/c_parser > c_parser/test/out/$BASENAME.stdout.txt 2> c_parser/test/out/$BASENAME.stderr.txt + + diff <(cat c_parser/test/ref/$BASENAME.stdout.txt) <(cat c_parser/test/out/$BASENAME.stdout.txt) > c_parser/test/out/$BASENAME.diff.txt + if [[ "$?" -ne "0" ]]; then + echo -e "\nERROR" + else + PASSED=$(( ${PASSED}+1 )); + fi + CHECKED=$(( ${CHECKED}+1 )); +done + +echo "########################################" +echo "Passed ${PASSED} out of ${CHECKED}". +echo "" |