diff options
Diffstat (limited to 'src/test.sh')
-rwxr-xr-x | src/test.sh | 73 |
1 files changed, 45 insertions, 28 deletions
diff --git a/src/test.sh b/src/test.sh index 090dc6f..4f84fd4 100755 --- a/src/test.sh +++ b/src/test.sh @@ -4,58 +4,75 @@ echo "Testing SYNTAX/" for a in ../tests/syntax/good/*.cpp; do - if ./minic++ --parse-only $a; - then echo "OK $a"; - else echo "FAIL $a"; - fi; + if ./minic++ --parse-only $a; + then echo "OK $a"; + else echo "FAIL $a"; + fi; done; for a in ../tests/syntax/bad/*.cpp; do - if ./minic++ --parse-only $a 2> /dev/null; - then echo "FAIL $a"; - else echo "OK $a"; - fi; + if ./minic++ --parse-only $a 2> /dev/null; + then echo "FAIL $a"; + else echo "OK $a"; + fi; done; echo "---" echo "Testing TYPING/ only against parsing" for a in ../tests/typing/*/*.cpp; do - if ./minic++ --parse-only $a; - then echo "OK $a"; - else echo "FAIL $a"; - fi; + if ./minic++ --parse-only $a; + then echo "OK $a"; + else echo "FAIL $a"; + fi; done; echo "---" echo "Testing EXEC/ only against parsing" for a in ../tests/exec/*.cpp; do - if ./minic++ --parse-only $a; - then echo "OK $a"; - else echo "FAIL $a"; - fi; + if ./minic++ --parse-only $a; + then echo "OK $a"; + else echo "FAIL $a"; + fi; done; echo "---" echo "Testing TYPING/" for a in ../tests/typing/good/*.cpp; do - if ./minic++ --type-only $a; - then echo "OK $a"; - else echo "FAIL $a"; - fi; + if ./minic++ --type-only $a; + then echo "OK $a"; + else echo "FAIL $a"; + fi; done; for a in ../tests/typing/bad/*.cpp; do - if ./minic++ --type-only $a 2> /dev/null; - then echo "FAIL $a"; - else echo "OK $a"; - fi; + if ./minic++ --type-only $a 2> /dev/null; + then echo "FAIL $a"; + else echo "OK $a"; + fi; done; echo "---" echo "Testing EXEC/ only against typing" for a in ../tests/exec/*.cpp; do - if ./minic++ --type-only $a; - then echo "OK $a"; - else echo "FAIL $a"; - fi; + if ./minic++ --type-only $a; + then echo "OK $a"; + else echo "FAIL $a"; + fi; done; + +echo "---" +echo "Testing EXEC/" +for a in ../tests/exec/*.cpp; do + if ./minic++ $a; + then + spim -f ../tests/exec/`basename -s .cpp $a`.s | tail -n +6 > /tmp/spim_out.txt + if diff /tmp/spim_out.txt ../tests/exec/`basename -s .cpp $a`.out > /dev/null + then echo "OK $a" + else echo "FAIL $a" + fi + else echo "TODO $a"; + fi; +done; + + + |