reorganized tests
[cparser] / parsetest / do_tests.sh
1 #!/bin/bash
2
3 CPARSER=../build/cparser
4
5 rm -f messages.cparser messages.gcc
6 for i in *.c shouldpass/*.c; do
7         echo -n "Compile $i..."
8         "$CPARSER" $i -O3 -std=c99 -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER COMPILE FAILED"
9         gcc -m32 -std=c99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 || echo -n " GCC COMPILE FAILED"
10         ./prog.cparser > out.cparser || echo -n " FAILED CPARSER RUN"
11         ./prog.gcc > out.gcc || echo -n " FAILED GCC RUN"
12         diff -u out.cparser out.gcc > /dev/null || echo -n " RESULTS MISCOMPARE"
13         echo ""
14 done
15
16 for i in gnu99/*.c; do
17         echo -n "Compile $i..."
18         "$CPARSER" $i -O3 -std=gnu99 -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER COMPILE FAILED"
19         gcc -m32 -std=gnu99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 || echo -n " GCC COMPILE FAILED"
20         ./prog.cparser > out.cparser || echo -n " FAILED CPARSER RUN"
21         ./prog.gcc > out.gcc || echo -n " FAILED GCC RUN"
22         diff -u out.cparser out.gcc > /dev/null || echo -n " RESULTS MISCOMPARE"
23         echo ""
24 done
25
26 for i in MS/*.c; do
27         echo -n "Compile $i..."
28         "$CPARSER" --ms $i -O3 -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER COMPILE FAILED"
29         ./prog.cparser > out.cparser || echo -n " FAILED CPARSER RUN"
30         echo ""
31 done
32
33 for i in should_warn/*.c; do
34         echo -n "Compile $i..."
35         "$CPARSER" $i -Wall -O3 -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER DID NOT COMPILE"
36         gcc -Wall -m32 -std=gnu99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 || echo -n " GCC DID NOT COMPILER"
37         echo ""
38         if diff -u /dev/null messages.cparser > /dev/null; then
39                 echo -n " CPARSER HAD NO WARNINGS"
40         fi
41         if diff -u /dev/null messages.gcc > /dev/null; then
42                 echo -n " GCC HAD NO WARNINGS"
43         fi
44 done
45
46 for i in shouldfail/*.c; do
47         echo -n "Compile $i..."
48         "$CPARSER" $i -O3 -std=c99 -o prog.cparser >> messages.cparser 2>&1 && echo -n " CPARSER COMPILED"
49         gcc -m32 -std=c99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 && echo -n " GCC COMPILED"
50         echo ""
51 done