2005-06-09 00:08:13 +00:00
#!/bin/bash
echo " $1 ( $2 , $3 )... "
2014-05-01 16:13:21 +00:00
2005-06-09 00:08:13 +00:00
make clean 1>/dev/null 2>/dev/null
2014-05-01 16:13:21 +00:00
2005-06-09 00:08:13 +00:00
echo -n "building..."
2014-05-01 16:13:21 +00:00
2016-01-26 21:13:03 +00:00
if [ -f /proc/cpuinfo ]
then
MAKE_JOBS = $(( ( $( cat /proc/cpuinfo | grep -E '^processor[[:space:]]*:' | tail -n -1 | cut -d':' -f2) + 1 ) * 2 + 1 ))
else
MAKE_JOBS = 8
fi
CFLAGS = " $2 $CFLAGS $4 " EXTRALIBS = " $5 " make -j$MAKE_JOBS -f $3 all_test 1>gcc_1.txt 2>gcc_2.txt
2014-05-01 16:13:21 +00:00
mret = $?
cnt = $( wc -l < gcc_2.txt)
2017-06-05 13:51:29 +00:00
# ignore 1 line since ar prints to stderr instead of stdout and ar is called for
# $(LIBNAME)
if [ [ $mret -ne 0 ] ] || [ [ $cnt -gt 1 ] ] ; then
2014-05-01 16:13:21 +00:00
echo " build $1 failed! printing gcc_2.txt now for convenience "
cat gcc_2.txt
exit 1
fi
2005-06-09 00:08:13 +00:00
echo -n "testing..."
2014-05-01 16:13:21 +00:00
2005-06-09 00:08:13 +00:00
if [ -a test ] && [ -f test ] && [ -x test ] ; then
2017-08-07 17:37:53 +00: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 or tv.txt " && exit 1)
2005-06-09 00:08:13 +00:00
if find *_tv.txt -type f 1>/dev/null 2>/dev/null ; then
2017-03-01 12:35:19 +00:00
for f in *_tv.txt; do
# check for lines starting with '<' ($f might be a subset of notes/$f)
difftroubles = $( diff -i -w -B $f notes/$f | grep '^<' )
if [ -n " $difftroubles " ] ; then
echo " FAILURE: $f "
diff -i -w -B $f notes/$f
echo " tv_gen $f failed " && rm -f testok.txt && exit 1
else
true
fi
done
2005-06-09 00:08:13 +00:00
fi
fi
2015-08-30 15:17:05 +00:00
2005-06-09 00:08:13 +00:00
if [ -a testok.txt ] && [ -f testok.txt ] ; then
2017-05-11 13:53:22 +00:00
if [ " $LTC_COVERAGE " != "" ] ; then
2017-10-18 20:45:11 +00:00
bash .ci/coverage_more.sh > test_coverage_more.txt || exit 1
2017-05-11 13:53:22 +00:00
lcov_opts = "--capture --no-external --directory src -q"
lcov_out = $( echo coverage_$1 _$2 _$3 | tr ' -=+' '_' ) ".info"
lcov $lcov_opts --output-file $lcov_out
fi
2005-06-09 00:08:13 +00:00
exit 0
fi
exit 1
2017-06-19 11:43:49 +00:00
# ref: $Format:%D$
# git commit: $Format:%H$
# commit time: $Format:%ai$