Merge branch 'waveview_hacks' of https://github.com/nmains/ardour into cairocanvas
[ardour.git] / libs / ardour / run-tests.sh
index 1af623c3f2ee5f09a6fbe44c3f41231962de086e..e894fecb63d145e5b0ab607958375258baf8f311 100755 (executable)
@@ -2,25 +2,34 @@
 #
 # Run libardour test suite.
 #
+. test-env.sh
 
-if [ ! -f './tempo.cc' ]; then
-    echo "This script must be run from within the libs/ardour directory";
-    exit 1;
-fi
-
-srcdir=`pwd`
-cd ../../build
-
-libs='libs'
-
-export LD_LIBRARY_PATH=$libs/audiographer:$libs/vamp-sdk:$libs/surfaces:$libs/surfaces/control_protocol:$libs/ardour:$libs/midi++2:$libs/pbd:$libs/rubberband:$libs/soundtouch:$libs/gtkmm2ext:$libs/appleutility:$libs/taglib:$libs/evoral:$libs/evoral/src/libsmf:$libs/timecode:/usr/local/lib:/usr/local/lib64:$LD_LIBRARY_PATH
-
-export ARDOUR_PANNER_PATH=$libs/panners/2in2out:$libs/panners/1in2out:$libs/panners/vbap
-
-if [ "$1" == "--debug" ]; then
-        gdb ./libs/ardour/run-tests
-elif [ "$1" == "--valgrind" ]; then
-        valgrind ./libs/ardour/run-tests
+if [ "$1" == "--single" ] || [ "$2" == "--single" ]; then
+        if [ "$1" == "--single" ]; then
+               TESTS="test_*$2*"
+        elif [ "$2" == "--single" ]; then
+               TESTS="test_*$3*"
+       else
+                TESTS='test_*'
+        fi
+       for test_program in `find libs/ardour -name "$TESTS" -type f -perm /u+x`;
+       do
+               echo "Running $test_program..."
+                if [ "$1" == "--debug" ]; then
+                       gdb ./"$test_program"
+                elif [ "$1" == "--valgrind" ]; then
+                       valgrind ./"$test_program"
+               else
+                       ./"$test_program"
+               fi
+       done
 else
-        ./libs/ardour/run-tests $*
+        if [ "$1" == "--debug" ]; then
+                gdb ./libs/ardour/run-tests
+        elif [ "$1" == "--valgrind" ]; then
+                valgrind ./libs/ardour/run-tests
+        else
+                ./libs/ardour/run-tests $*
+        fi
 fi
+