#!/bin/bash # # e.g. --run_tests=foo set -e PRIVATE_GIT="6ae250072192de2e56243da1883a6fa13e56aaf4" if [ "$1" == "--check" ]; then shift 1 check=1 else check=0 fi if [ "$(uname)" == "Linux" ]; then export LD_LIBRARY_PATH=build/src/lib:/usr/local/lib:/usr/local/lib64:$LD_LIBRARY_PATH rm -f build/test/dcpomatic2_openssl # This must be our patched openssl or tests will fail if [ ! -f build/test/dcpomatic2_openssl ]; then ln -s ../../../openssl/apps/openssl build/test/dcpomatic2_openssl fi fi if [ "$(uname)" == "Darwin" ]; then resources=build/Resources rm -rf $resources mkdir -p $resources cp fonts/*.ttf $resources cp -r ../libdcp/tags $resources cp -r ../libdcp/xsd $resources cp ../libdcp/ratings $resources 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 # We need to find ffcmp in here export PATH=$PATH:/Users/ci/workspace/bin fi if [ "$check" == "1" ]; then if [ "$DCPOMATIC_TEST_PRIVATE" == "" ]; then pushd ../dcpomatic-test-private else pushd $DCPOMATIC_TEST_PRIVATE fi current=$(git rev-parse HEAD) if [ "$current" != "$PRIVATE_GIT" ]; then echo "Unexpected dcpomatic-test-private version" exit 1 fi ./check_sums || (echo "dcpomatic-test-private checksums are incorrect"; exit 1) popd fi if [ "$1" == "--debug" ]; then shift; gdb --args build/test/unit-tests --catch_system_errors=no --log_level=test_suite $* elif [ "$1" == "--backtrace" ]; then shift; 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; # 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; valgrind --tool="callgrind" build/test/unit-tests $* elif [ "$1" == "--quiet" ]; then shift; build/test/unit-tests --catch_system_errors=no $* elif [ "$1" == "--drd" ]; then shift; valgrind --tool="drd" build/test/unit-tests $* elif [ "$1" == "--helgrind" ]; then shift; valgrind --tool="helgrind" build/test/unit-tests $* else ulimit -c unlimited build/test/unit-tests --catch_system_errors=no $* fi