fix crash when copy'ing latent plugins
[ardour.git] / libs / ardour / run-tests.sh
index 03a100e11f77a1ec08106ec422d7faffab54f7f4..cf98211753733e4b46035b62ccd3f7aa12b89b8c 100755 (executable)
@@ -3,26 +3,36 @@
 # Run libardour test suite.
 #
 
-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'
+TOP=`dirname "$0"`/../..
+. $TOP/build/gtk2_ardour/ardev_common_waf.sh
+ARDOUR_LIBS_DIR=$TOP/build/libs/ardour
 
-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
-export ARDOUR_SURFACES_PATH=$libs/surfaces/osc:$libs/surfaces/generic_midi:$libs/surfaces/tranzport:$libs/surfaces/powermate:$libs/surfaces/mackie
-export ARDOUR_MCP_PATH="../mcp"
-
-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 $ARDOUR_LIBS_DIR -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 $ARDOUR_LIBS_DIR/run-tests
+        elif [ "$1" == "--valgrind" ]; then
+                valgrind $ARDOUR_LIBS_DIR/run-tests
+        else
+                $ARDOUR_LIBS_DIR/run-tests $*
+        fi
 fi
+