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