#!/bin/bash # # e.g. --run_tests=foo set -e PRIVATE_GIT="881c48805e352dfe150993814757ca974282be18" 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 export DCPOMATIC_TEST_TOOLS_PATH=/opt/asdcplib/bin if [ -f /src/backports/dcp_inspect ]; then export DCPOMATIC_DCP_INSPECT=/src/backports/dcp_inspect fi set +e python3 -m clairmeta.cli --help > /dev/null 2>&1 if [ "$?" == "0" ]; then export DCPOMATIC_CLAIRMETA=1 fi set -e 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 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