blob: 04cf495cb1345c9d30dc2a7600f847447602f0bc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
#!/bin/bash
#
# e.g. --run_tests=foo
set -e
PRIVATE_GIT="9c6e881036e5ce29d0e64d8c3159714706ce49f9"
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
source $DIR/environment
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
rm -f build/test/dcpomatic2_openssl
mkdir -p build/test
cp -r ../libdcp/tags build/test
cp -r ../libdcp/xsd build/test
cp ../libdcp/ratings build/test
# 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
cp -r ../libdcp/tags build/test
cp -r ../libdcp/xsd build/test
cp ../libdcp/ratings build/test
rm -f build/test/openssl
ln -s ../../../openssl/apps/openssl build/test/openssl
# We need to find ffcmp in here
export PATH=$PATH:$HOME/workspace/bin
if [ -d "$environment/$(uname -m)/11.0" ]; then
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$environment/$(uname -m)/11.0/lib
else
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$environment/$(uname -m)/10.10/lib
fi
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 [ "$type" == "debug" ]; then
gdb --args build/test/unit-tests --catch_system_errors=no --log_level=test_suite $*
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 [ "$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 [ "$type" == "callgrind" ]; then
valgrind --tool="callgrind" build/test/unit-tests $*
elif [ "$type" == "quiet" ]; then
build/test/unit-tests --catch_system_errors=no $*
elif [ "$type" == "drd" ]; then
valgrind --tool="drd" build/test/unit-tests $*
elif [ "$type" == "helgrind" ]; then
valgrind --tool="helgrind" build/test/unit-tests $*
else
ulimit -c unlimited
docker run --init --rm -it \
-u carl \
-v /home/carl:/home/carl \
-v /run:/run \
-w /home/carl/src/dcpomatic-v2.19.x \
dcpomatic-v2.19.x $DIR/../build/test/unit-tests --catch_system_errors=no $*
fi
|