annotate process.sh @ 4:780c4fc19f3e

Print successes, failures
author Chris Cannam
date Sat, 26 Jul 2014 10:20:17 +0100
parents 4e4f3903643d
children 57da88814766
rev   line source
Chris@1 1 #!/bin/bash
Chris@1 2
Chris@1 3 ## Things to test:
Chris@1 4 ## the plugin builds!
Chris@1 5 ## plugin loads
Chris@1 6 ## passes vamp-plugin-tester tests
Chris@1 7 ## does not export any unnecessary symbols
Chris@1 8 ## has valid .cat and .n3
Chris@1 9
Chris@1 10 platform=linux
Chris@2 11 bits=64
Chris@1 12
Chris@4 13 configure() {
Chris@4 14 dir="$1"
Chris@4 15 if [ -f "$dir/configure" ] ; then
Chris@4 16 ( cd "$dir" ; ./configure )
Chris@4 17 fi
Chris@4 18 }
Chris@4 19
Chris@1 20 configure_maybe() {
Chris@1 21 dir="$1"
Chris@1 22 if [ ! -f "$dir/Makefile" ] ; then
Chris@4 23 configure "$dir"
Chris@1 24 fi
Chris@1 25 }
Chris@1 26
Chris@1 27 find_makefile() {
Chris@1 28 dir="$1"
Chris@2 29 for f in Makefile Makefile.$platform Makefile.$platform$bits build/$platform/Makefile build/$platform/Makefile.$platform build/$platform/Makefile.$platform$bits; do
Chris@1 30 if [ -f "$dir/$f" ]; then
Chris@1 31 echo $f
Chris@1 32 break
Chris@1 33 fi
Chris@1 34 done
Chris@1 35 }
Chris@1 36
Chris@4 37 build() {
Chris@4 38 dir="$1"
Chris@1 39 if configure_maybe "$dir"; then
Chris@1 40 mfile=$(find_makefile "$dir")
Chris@1 41 if [ -n "$mfile" ]; then
Chris@1 42 make -C "$dir" -f "$mfile"
Chris@1 43 else
Chris@1 44 echo "Failed to find a Makefile in $dir"
Chris@4 45 return 1
Chris@1 46 fi
Chris@1 47 fi
Chris@4 48 }
Chris@4 49
Chris@4 50 rebuild() {
Chris@4 51 dir="$1"
Chris@4 52 if configure "$dir"; then
Chris@4 53 mfile=$(find_makefile "$dir")
Chris@4 54 if [ -n "$mfile" ]; then
Chris@4 55 make -C "$dir" -f "$mfile" clean
Chris@4 56 make -C "$dir" -f "$mfile"
Chris@4 57 else
Chris@4 58 echo "Failed to find a Makefile in $dir"
Chris@4 59 return 1
Chris@4 60 fi
Chris@4 61 fi
Chris@4 62 }
Chris@4 63
Chris@4 64 successes="/tmp/successes.$$.txt"
Chris@4 65 failures="/tmp/failures.$$.txt"
Chris@4 66 trap 'rm -f "$successes" "$failures"' 0
Chris@4 67
Chris@4 68 for dir in $(cat .hgsub | awk '{ print $1; }') ; do
Chris@4 69 echo
Chris@4 70 echo "Processing: $dir"
Chris@4 71 if build "$dir"; then
Chris@4 72 echo "$dir" >> "$successes"
Chris@4 73 else
Chris@4 74 echo "$dir" >> "$failures"
Chris@4 75 fi
Chris@1 76 done
Chris@1 77
Chris@4 78 echo
Chris@4 79 echo "** Succeeded in building:"
Chris@4 80 cat "$successes"
Chris@4 81
Chris@4 82 echo
Chris@4 83 echo "** Failed to build:"
Chris@4 84 cat "$failures"
Chris@4 85
Chris@4 86 echo