2005-06-08 20:08:13 -04:00
|
|
|
#!/bin/bash
|
|
|
|
echo "$1 ($2, $3)..."
|
2014-05-01 12:13:21 -04:00
|
|
|
|
2005-06-08 20:08:13 -04:00
|
|
|
make clean 1>/dev/null 2>/dev/null
|
2014-05-01 12:13:21 -04:00
|
|
|
|
2005-06-08 20:08:13 -04:00
|
|
|
echo -n "building..."
|
2014-05-01 12:13:21 -04:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2005-06-08 20:08:13 -04:00
|
|
|
echo -n "testing..."
|
2014-05-01 12:13:21 -04:00
|
|
|
|
2005-06-08 20:08:13 -04:00
|
|
|
if [ -a test ] && [ -f test ] && [ -x test ]; then
|
2011-03-21 16:10:23 -04:00
|
|
|
((./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)
|
2005-06-08 20:08:13 -04:00
|
|
|
if find *_tv.txt -type f 1>/dev/null 2>/dev/null ; then
|
2013-04-18 10:40:56 -04:00
|
|
|
for f in *_tv.txt; do if (diff -i -w -B $f notes/$f) then true; else (echo "tv_gen $f failed" && rm -f testok.txt && exit 1); fi; done
|
2005-06-08 20:08:13 -04:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
if [ -a testok.txt ] && [ -f testok.txt ]; then
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
exit 1
|
|
|
|
|
2014-04-29 15:13:49 -04:00
|
|
|
# $Source$
|
|
|
|
# $Revision$
|
|
|
|
# $Date$
|