annotate bqvec/build/run-platform-tests.sh @ 372:af71cbdab621 tip

Update bqvec code
author Chris Cannam
date Tue, 19 Nov 2019 10:13:32 +0000
parents
children
rev   line source
Chris@372 1 #!/bin/bash
Chris@372 2
Chris@372 3 if [ -z "$1" ]; then
Chris@372 4 echo "Usage: $0 <platformtag>"
Chris@372 5 exit 2
Chris@372 6 fi
Chris@372 7
Chris@372 8 platformtag="$1"
Chris@372 9
Chris@372 10 set -eu
Chris@372 11
Chris@372 12 ippdir=/opt/intel/ipp
Chris@372 13
Chris@372 14 echo
Chris@372 15 if [ -d "$ippdir" ]; then
Chris@372 16 echo "Found IPP directory $ippdir, considering IPP as well as other options"
Chris@372 17 else
Chris@372 18 echo "No IPP directory $ippdir, not testing with IPP"
Chris@372 19 fi
Chris@372 20
Chris@372 21 if valgrind --version >/dev/null 2>&1 ;
Chris@372 22 then
Chris@372 23 have_valgrind=yes
Chris@372 24 else
Chris@372 25 echo
Chris@372 26 echo "No valgrind executable found, not using valgrind"
Chris@372 27 have_valgrind=no
Chris@372 28 fi
Chris@372 29
Chris@372 30 tmpfile=$(mktemp "/tmp/test_XXXXXX")
Chris@372 31 trap "rm -f $tmpfile" 0
Chris@372 32
Chris@372 33 run() {
Chris@372 34 successtext="$1"
Chris@372 35 shift
Chris@372 36 echo -n "Running \"$@\"..."
Chris@372 37 if "$@" > "$tmpfile" 2>&1 ; then
Chris@372 38 if [ -z "$successtext" ] || fgrep -q "$successtext" "$tmpfile" ; then
Chris@372 39 echo " OK"
Chris@372 40 return 0
Chris@372 41 else
Chris@372 42 echo " Failed"
Chris@372 43 cat "$tmpfile"
Chris@372 44 return 1
Chris@372 45 fi
Chris@372 46 else
Chris@372 47 echo " Failed"
Chris@372 48 cat "$tmpfile"
Chris@372 49 return 1
Chris@372 50 fi
Chris@372 51 }
Chris@372 52
Chris@372 53 for mf in Makefile build/Makefile.$platformtag build/Makefile.$platformtag.* ; do
Chris@372 54
Chris@372 55 case "$mf" in
Chris@372 56 *~) continue;;
Chris@372 57 *.bak) continue;;
Chris@372 58 *ipp)
Chris@372 59 if [ ! -d "$ippdir" ]; then
Chris@372 60 continue
Chris@372 61 fi;;
Chris@372 62 esac
Chris@372 63
Chris@372 64 if [ ! -f "$mf" ]; then
Chris@372 65 continue
Chris@372 66 fi
Chris@372 67
Chris@372 68 echo
Chris@372 69 echo "Building and testing with $mf:"
Chris@372 70 echo
Chris@372 71
Chris@372 72 make -f "$mf" clean >/dev/null
Chris@372 73 run "No errors detected" make -f "$mf" test
Chris@372 74
Chris@372 75 if [ "$have_valgrind" = "yes" ]; then
Chris@372 76 for t in test-* ; do
Chris@372 77 if [ -x "$t" ]; then
Chris@372 78 run "no leaks are possible" valgrind --leak-check=full ./"$t"
Chris@372 79 fi
Chris@372 80 done
Chris@372 81 fi
Chris@372 82 done
Chris@372 83
Chris@372 84