X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=parsetest%2Fdo_tests.sh;h=1f5a341816ad9ff54466d7808143dc7a2a6e3ca7;hb=8c0dc48b954ccceae0ce547f325d98ce453a5ecf;hp=50c19f946a67a1ecb89107446b059a9cdcff8082;hpb=f8a6ccf65ffba0d26575ac4e9c18587459e0b2d6;p=cparser diff --git a/parsetest/do_tests.sh b/parsetest/do_tests.sh index 50c19f9..1f5a341 100755 --- a/parsetest/do_tests.sh +++ b/parsetest/do_tests.sh @@ -1,9 +1,22 @@ #!/bin/bash +CPARSER=../build/cparser +CPARSER_FLAGS="-O3 -fno-inline" + rm -f messages.cparser messages.gcc -for i in *.c; do +for i in *.c should_pass/*.c; do + echo -n "Compile $i..." + "$CPARSER" $i $CPARSER_FLAGS -std=c99 -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER COMPILE FAILED" + gcc -m32 -std=c99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 || echo -n " GCC COMPILE FAILED" + ./prog.cparser > out.cparser || echo -n " FAILED CPARSER RUN" + ./prog.gcc > out.gcc || echo -n " FAILED GCC RUN" + diff -u out.cparser out.gcc > /dev/null || echo -n " RESULTS MISCOMPARE" + echo "" +done + +for i in gnu99/*.c; do echo -n "Compile $i..." - ../build/cparser $i -O3 -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER COMPILE FAILED" + "$CPARSER" $i $CPARSER_FLAGS -std=gnu99 -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER COMPILE FAILED" gcc -m32 -std=gnu99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 || echo -n " GCC COMPILE FAILED" ./prog.cparser > out.cparser || echo -n " FAILED CPARSER RUN" ./prog.gcc > out.gcc || echo -n " FAILED GCC RUN" @@ -13,14 +26,14 @@ done for i in MS/*.c; do echo -n "Compile $i..." - ../build/cparser --ms $i -O3 -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER COMPILE FAILED" + "$CPARSER" $CPARSER_FLAGS --ms $i -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER COMPILE FAILED" ./prog.cparser > out.cparser || echo -n " FAILED CPARSER RUN" echo "" done for i in should_warn/*.c; do echo -n "Compile $i..." - ../cparser $i -Wall -O3 -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER DID NOT COMPILE" + "$CPARSER" $CPARSER_FLAGS $i -Wall -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER DID NOT COMPILE" gcc -Wall -m32 -std=gnu99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 || echo -n " GCC DID NOT COMPILER" echo "" if diff -u /dev/null messages.cparser > /dev/null; then @@ -31,9 +44,9 @@ for i in should_warn/*.c; do fi done -for i in shouldfail/*.c; do +for i in should_fail/*.c; do echo -n "Compile $i..." - ../cparser $i -O3 -o prog.cparser >> messages.cparser 2>&1 && echo -n " CPARSER COMPILED" - gcc -m32 -std=gnu99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 && echo -n " GCC COMPILED" + "$CPARSER" $CPARSER_FLAGS $i -std=c99 -o prog.cparser >> messages.cparser 2>&1 && echo -n " CPARSER COMPILED" + gcc -m32 -std=c99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 && echo -n " GCC COMPILED" echo "" done