only run tests when build was without warnings

This commit is contained in:
Steffen Jaeckel 2014-05-01 18:13:21 +02:00
parent 4929e4e989
commit a06e40aa17

View File

@ -1,9 +1,23 @@
#!/bin/bash #!/bin/bash
echo "$1 ($2, $3)..." echo "$1 ($2, $3)..."
make clean 1>/dev/null 2>/dev/null make clean 1>/dev/null 2>/dev/null
echo -n "building..." echo -n "building..."
CFLAGS="$2 $CFLAGS $4" EXTRALIBS="$5" make -f $3 test tv_gen 1>gcc_1.txt 2>gcc_2.txt || (echo "build $1 failed see gcc_2.txt for more information" && cat gcc_2.txt && exit 1)
CFLAGS="$2 $CFLAGS $4" EXTRALIBS="$5" make -f $3 test tv_gen 1>gcc_1.txt 2>gcc_2.txt
mret=$?
cnt=$(wc -l < gcc_2.txt)
# ignore 2 lines since ar prints to stderr instead of stdout and ar is called for
# $(LIBNAME) and testprof/$(LIBTEST_S)
if [[ $mret -ne 0 ]] || [[ $cnt -gt 2 ]]; then
echo "build $1 failed! printing gcc_2.txt now for convenience"
cat gcc_2.txt
exit 1
fi
echo -n "testing..." echo -n "testing..."
if [ -a test ] && [ -f test ] && [ -x test ]; then if [ -a test ] && [ -f test ] && [ -x test ]; then
((./test >test_std.txt 2>test_err.txt && ./tv_gen > tv.txt) && echo "$1 test passed." && echo "y" > testok.txt) || (echo "$1 test failed, look at test_err.txt" && exit 1) ((./test >test_std.txt 2>test_err.txt && ./tv_gen > tv.txt) && echo "$1 test passed." && echo "y" > testok.txt) || (echo "$1 test failed, look at test_err.txt" && exit 1)
if find *_tv.txt -type f 1>/dev/null 2>/dev/null ; then if find *_tv.txt -type f 1>/dev/null 2>/dev/null ; then