1#!/bin/sh
2set -o xtrace   # Write all commands first to stderr
3set -o errexit  # Exit the script with error if any of the commands fail
4
5
6COMPRESSORS=${COMPRESSORS:-nocompressors}
7AUTH=${AUTH:-noauth}
8SSL=${SSL:-nossl}
9URI=${URI:-}
10OS=$(uname -s | tr '[:upper:]' '[:lower:]')
11[ -z "$MARCH" ] && MARCH=$(uname -m | tr '[:upper:]' '[:lower:]')
12
13
14if [ "$COMPRESSORS" != "nocompressors" ]; then
15   export MONGOC_TEST_COMPRESSORS="$COMPRESSORS"
16fi
17if [ "$AUTH" != "noauth" ]; then
18  export MONGOC_TEST_USER="bob"
19  export MONGOC_TEST_PASSWORD="pwd123"
20fi
21
22if [ "$SSL" != "nossl" ]; then
23   export MONGOC_TEST_SSL_WEAK_CERT_VALIDATION="on"
24   export MONGOC_TEST_SSL_PEM_FILE="tests/x509gen/client.pem"
25   sudo cp tests/x509gen/ca.pem /usr/local/share/ca-certificates/cdriver.crt || true
26   if [ -f /usr/local/share/ca-certificates/cdriver.crt ]; then
27      sudo update-ca-certificates
28   else
29      export MONGOC_TEST_SSL_CA_FILE="tests/x509gen/ca.pem"
30   fi
31fi
32
33export MONGOC_ENABLE_MAJORITY_READ_CONCERN=on
34export MONGOC_TEST_FUTURE_TIMEOUT_MS=30000
35export MONGOC_TEST_URI="$URI"
36export MONGOC_TEST_SERVER_LOG="json"
37export MONGOC_TEST_SKIP_MOCK="on"
38
39if [ "$IPV4_ONLY" != "on" ]; then
40   export MONGOC_CHECK_IPV6="on"
41fi
42
43if [ "$CC" = "mingw" ]; then
44   chmod +x test-libmongoc.exe
45   cmd.exe /c .evergreen\\run-tests-mingw.bat
46   exit 0
47fi
48
49case "$OS" in
50   cygwin*)
51      export PATH=$PATH:`pwd`/tests:`pwd`/Debug:`pwd`/src/libbson/Debug
52      export PATH=$PATH:`pwd`/tests:`pwd`/Release:`pwd`/src/libbson/Release
53      chmod +x ./Debug/* src/libbson/Debug/* || true
54      chmod +x ./Release/* src/libbson/Release/* || true
55      ;;
56
57   darwin)
58      sed -i'.bak' 's/\/data\/mci\/[a-z0-9]\{32\}\/mongoc/./g' test-libmongoc
59      export DYLD_LIBRARY_PATH=".libs:src/libbson/.libs"
60      ;;
61
62   *)
63      #if test -f /tmp/drivers.keytab; then
64         # See CDRIVER-2000
65         #export MONGOC_TEST_GSSAPI_USER="drivers%40LDAPTEST.10GEN.CC"
66         #export MONGOC_TEST_GSSAPI_HOST="LDAPTEST.10GEN.CC"
67         #kinit -k -t /tmp/drivers.keytab -p drivers@LDAPTEST.10GEN.CC
68      #fi
69      # This libtool wrapper script was built in a unique dir like
70      # "/data/mci/998e754a0d1ed79b8bf733f405b87778/mongoc",
71      # replace its absolute path with "." so it can run in the CWD.
72      sed -i'' 's/\/data\/mci\/[a-z0-9]\{32\}\/mongoc/./g' test-libmongoc
73      export LD_LIBRARY_PATH=".libs:src/libbson/.libs"
74      ;;
75esac
76
77#if ldconfig -N -v 2>/dev/null | grep -q libSegFault.so; then
78   #export SEGFAULT_SIGNALS="all"
79   #export LD_PRELOAD="libSegFault.so"
80#fi
81
82case "$OS" in
83   cygwin*)
84      test-libmongoc.exe -d -F test-results.json
85      ;;
86
87   *)
88      make -o test-libmongoc test TEST_ARGS="--no-fork -d -F test-results.json"
89      ;;
90esac
91
92