diff process.sh @ 5:57da88814766

Run tester, report
author Chris Cannam
date Sat, 26 Jul 2014 10:50:24 +0100
parents 780c4fc19f3e
children
line wrap: on
line diff
--- a/process.sh	Sat Jul 26 10:20:17 2014 +0100
+++ b/process.sh	Sat Jul 26 10:50:24 2014 +0100
@@ -61,25 +61,65 @@
     fi
 }
 
+run_tester() {
+    ##!!! todo: list the plugins in each library and run the tester
+    ##!!! separately on each -- that way we can report on specific
+    ##!!! plugins rather than whole libraries (though for the
+    ##!!! "printout" report we should include the whole library test,
+    ##!!! just for information's sake?) and we can have separate
+    ##!!! nondeterministic statuses
+    dir="$1"
+    extra=""
+    if grep -q "^$dir\$" nondeterministic.txt; then
+	extra="-n"
+    fi
+    if VAMP_PATH="$dir" vamp-plugin-tester/vamp-plugin-tester "$extra" -a ; then
+	echo "OK"
+    else
+	echo
+	echo "Tester failed: running again with valgrind and verbose for a report..."
+	VAMP_PATH="$dir" valgrind vamp-plugin-tester/vamp-plugin-tester -v "$extra" -a
+    fi
+}
+
 successes="/tmp/successes.$$.txt"
+partials="/tmp/successes.$$.txt"
 failures="/tmp/failures.$$.txt"
-trap 'rm -f "$successes" "$failures"' 0
+trap 'rm -f "$successes" "$partials" "$failures"' 0
 
-for dir in $(cat .hgsub | awk '{ print $1; }') ; do
+if ! build "vamp-plugin-sdk"; then 
+    echo "Failed to build Vamp plugin SDK!"
+    exit 1
+fi
+
+if ! build "vamp-plugin-tester"; then 
+    echo "Failed to build Vamp plugin tester!"
+    exit 1
+fi
+
+for dir in $(cat .hgsub | grep -v vamp-plugin-sdk | grep -v vamp-plugin-tester | awk '{ print $1; }') ; do
     echo
     echo "Processing: $dir"
     if build "$dir"; then
-	echo "$dir" >> "$successes"
+	if run_tester "$dir"; then
+	    echo "$dir" >> "$successes"
+	else
+	    echo "$dir" >> "$partials"
+	fi
     else
 	echo "$dir" >> "$failures"
     fi
 done
 
 echo
-echo "** Succeeded in building:"
+echo "** Successfully built and tested:"
 cat "$successes"
 
 echo
+echo "** Built, but failed tests:"
+cat "$partials"
+
+echo
 echo "** Failed to build:"	    
 cat "$failures"