Supporters update.
[dcpomatic.git] / run / tests
index 4315e227f8f5171f999461e67c804395120c3905..5db647af48f6faf136e7285bd626951d0f8fc9b7 100755 (executable)
--- a/run/tests
+++ b/run/tests
@@ -3,14 +3,54 @@
 # e.g. --run_tests=foo
 set -e
 
-PRIVATE_GIT="f4b0c41b263a17cf33edae7565f16bd21eb80b65"
+PRIVATE_GIT="881c48805e352dfe150993814757ca974282be18"
 
-if [ "$1" == "--check" ]; then
-       shift 1
-       check=1
-else
-       check=0
-fi
+type=""
+check=0
+while [[ $# -gt 0 ]]; do
+    case $1 in
+        -e)
+        environment=$2
+        shift
+        shift
+        ;;
+        --debug)
+        type="debug"
+        shift
+        ;;
+        --backtrace)
+        type="backtrace"
+        shift
+        ;;
+        --valgrind)
+        type="valgrind"
+        shift
+        ;;
+        --callgrind)
+        type="callgrind"
+        shift
+        ;;
+        --quiet)
+        type="quiet"
+        shift
+        ;;
+        --drd)
+        type="drd"
+        shift
+        ;;
+        --helgrind)
+        type="helgrind"
+        shift
+        ;;
+        --check)
+        check=1
+        shift
+        ;;
+        *)
+        break
+        ;;
+    esac
+done
 
 if [ "$(uname)" == "Linux" ]; then 
   export LD_LIBRARY_PATH=build/src/lib:/usr/local/lib:/usr/local/lib64:$LD_LIBRARY_PATH
@@ -42,7 +82,7 @@ if [ "$(uname)" == "Darwin" ]; then
   rm -f build/test/openssl
   ln -s ../../../openssl/apps/openssl build/test/openssl
   # SIP stops this being passed in from the caller's environment
-  export DYLD_LIBRARY_PATH=/Users/ci/osx-environment/x86_64/10.10/lib:/Users/ci/workspace/lib
+  export DYLD_LIBRARY_PATH=$environment/x86_64/10.10/lib:/Users/ci/workspace/lib
   # We need to find ffcmp in here
   export PATH=$PATH:/Users/ci/workspace/bin
 fi
@@ -61,27 +101,20 @@ if [ "$check" == "1" ]; then
        popd
 fi
 
-if [ "$1" == "--debug" ]; then
-    shift;
+if [ "$type" == "debug" ]; then
     gdb --args build/test/unit-tests --catch_system_errors=no --log_level=test_suite $*
-elif [ "$1" == "--backtrace" ]; then
-    shift;
+elif [ "$type" == "backtrace" ]; then
     gdb -batch -ex "run" -ex "thread apply all bt" -return-child-result --args build/test/unit-tests --catch_system_errors=yes $*
-elif [ "$1" == "--valgrind" ]; then
-    shift;
+elif [ "$type" == "valgrind" ]; then
 #    valgrind --tool="memcheck" --vgdb=yes --vgdb-error=0 build/test/unit-tests $*
     valgrind --tool="memcheck" --suppressions=suppressions build/test/unit-tests $*
-elif [ "$1" == "--callgrind" ]; then
-    shift;
+elif [ "$type" == "callgrind" ]; then
     valgrind --tool="callgrind" build/test/unit-tests $*
-elif [ "$1" == "--quiet" ]; then
-    shift;
+elif [ "$type" == "quiet" ]; then
     build/test/unit-tests --catch_system_errors=no $*
-elif [ "$1" == "--drd" ]; then
-    shift;
+elif [ "$type" == "drd" ]; then
     valgrind --tool="drd" build/test/unit-tests $*
-elif [ "$1" == "--helgrind" ]; then
-    shift;
+elif [ "$type" == "helgrind" ]; then
     valgrind --tool="helgrind" build/test/unit-tests $*
 else
     ulimit -c unlimited