Mercurial > hg > silvet
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 |