summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-05-14 10:26:19 +0200
committerCarl Hetherington <cth@carlh.net>2024-05-15 20:39:45 +0200
commitbb8ff499ef234f2598f5a66fcf6686b847c2ea64 (patch)
tree5d19ea471e6d4c623c47efa8a3028f5c25a88bae
parentbcf0f131281399f93fe2ca57c99d1046b3a2fb44 (diff)
Fix macOS environment setup.
-rw-r--r--cscript5
-rw-r--r--run/environment2
-rwxr-xr-xrun/tests75
3 files changed, 59 insertions, 23 deletions
diff --git a/cscript b/cscript
index ba680eb0e..37f824fb1 100644
--- a/cscript
+++ b/cscript
@@ -925,7 +925,10 @@ def test(target, options, test):
if target.platform == 'windows':
cmd = 'run\\tests '
else:
- cmd = 'run/tests --check --log_level=test_suite '
+ cmd = 'run/tests '
+ if target.environment_prefix:
+ cmd += '-e %s ' % target.environment_prefix
+ cmd += ' --check --log_level=test_suite '
if target.debug:
cmd += '--backtrace '
if test is not None:
diff --git a/run/environment b/run/environment
index aa4f77187..dac7bef55 100644
--- a/run/environment
+++ b/run/environment
@@ -4,6 +4,6 @@ export LD_LIBRARY_PATH=$build/src/lib:$build/src/wx:/usr/local/lib64:/usr/local/
if [[ $(readlink -f $DIR/..) =~ (.*build/[^/]*) ]]; then
export LD_LIBRARY_PATH=${BASH_REMATCH[1]}/lib:$LD_LIBRARY_PATH
fi
-export DYLD_LIBRARY_PATH=$build/src/lib:$build/src/wx:$build/src/asdcplib/src:/Users/ci/osx-environment/x86_64/10.10/lib:/Users/ci/workspace/lib
+export DYLD_LIBRARY_PATH=$build/src/lib:$build/src/wx:/Users/ci/workspace/lib
export DCPOMATIC_GRAPHICS=$DIR/../graphics
diff --git a/run/tests b/run/tests
index bf4c5732e..5db647af4 100755
--- a/run/tests
+++ b/run/tests
@@ -5,12 +5,52 @@ set -e
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