aboutsummaryrefslogtreecommitdiff
path: root/tests/travis/build-and-test
blob: d7d4affd4294f237fa983c628f0269fd5a13cebd (plain) (blame)
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
#!/bin/sh

# SPDX-FileCopyrightText: 2014 Boris Pek <tehnick-8@yandex.ru>
# SPDX-FileCopyrightText: 2014 Jeremy Lainé <jeremy.laine@m4x.org>
#
# SPDX-License-Identifier: CC0-1.0

set -e

HOST_SYSTEM=$(uname -s)
CMAKE_ARGS="-DBUILD_TESTS:BOOL=True"

case "$CONFIG" in
full*)
    CMAKE_ARGS="-DBUILD_DOCUMENTATION:BOOL=True -DBUILD_EXAMPLES:BOOL=True -DWITH_GSTREAMER:BOOL=True"
    case "$QT_VERSION" in
    5.15* | 6*)
        # Enable OMEMO
        CMAKE_ARGS="$CMAKE_ARGS -DBUILD_OMEMO=ON"
        ;;
    esac
    ;;
esac

case "$CONFIG" in
*debug*)
    CMAKE_ARGS="$CMAKE_ARGS -DCMAKE_BUILD_TYPE:STRING=Debug -DBUILD_INTERNAL_TESTS:BOOL=True"
    ;;
esac

# build with code coverage
if [ "$CONFIG" = "full-debug" ]; then
    export CXXFLAGS="-fprofile-arcs -ftest-coverage"
fi

# Skip currently broken call manager test on macOS
if [ $HOST_SYSTEM = "Darwin" ]; then
    export QXMPP_TESTS_SKIP_CALL_MANAGER=1
fi

# compile
mkdir build
cd build
cmake .. $CMAKE_ARGS

if [ $HOST_SYSTEM = "Darwin" ]; then
    make -k -j$(sysctl -n hw.logicalcpu)
else
    make -k -j$(nproc)
fi

# run tests
make test ARGS="--rerun-failed --output-on-failure"