prepare fix for copying plugin state
[ardour.git] / libs / ardour / run-tests.sh
index 85ddfeaf812aa0646c8026e774bb79eb6b241f28..cf98211753733e4b46035b62ccd3f7aa12b89b8c 100755 (executable)
@@ -1,11 +1,38 @@
-#!/bin/sh
-export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../build/default/libs/ardour
-if [ ! -f './bbt_time.cc' ]; then
-    echo "This script must be run from within the libs/ardour directory";
-       exit 1;
-fi
+#!/bin/bash
+#
+# Run libardour test suite.
+#
+
+TOP=`dirname "$0"`/../..
+. $TOP/build/gtk2_ardour/ardev_common_waf.sh
+ARDOUR_LIBS_DIR=$TOP/build/libs/ardour
 
-srcdir=`pwd`
+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
+        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
 
-cd ../../build/default/libs/ardour
-./run-tests