Merge branch 'mcatanzaro/tls-docs' into 'master'
[glib.git] / .gitlab-ci / test-msys2.sh
blob48e18e92cc5f14b346d9134b68f7166032bd15bf
1 #!/bin/bash
3 set -e
5 export PATH="/c/msys64/$MSYSTEM/bin:$PATH"
6 if [[ "$MSYSTEM" == "MINGW32" ]]; then
7 export MSYS2_ARCH="i686"
8 else
9 export MSYS2_ARCH="x86_64"
12 pacman --noconfirm -Suy
14 pacman --noconfirm -S --needed \
15 base-devel \
16 mingw-w64-$MSYS2_ARCH-ccache \
17 mingw-w64-$MSYS2_ARCH-gettext \
18 mingw-w64-$MSYS2_ARCH-libffi \
19 mingw-w64-$MSYS2_ARCH-meson \
20 mingw-w64-$MSYS2_ARCH-pcre \
21 mingw-w64-$MSYS2_ARCH-python3 \
22 mingw-w64-$MSYS2_ARCH-python3-pip \
23 mingw-w64-$MSYS2_ARCH-toolchain \
24 mingw-w64-$MSYS2_ARCH-zlib \
25 mingw-w64-$MSYS2_ARCH-libelf
27 curl -O -J -L "https://github.com/linux-test-project/lcov/releases/download/v1.13/lcov-1.13.tar.gz"
28 echo "44972c878482cc06a05fe78eaa3645cbfcbad6634615c3309858b207965d8a23 lcov-1.13.tar.gz" | sha256sum -c
29 tar -xzf lcov-1.13.tar.gz
30 LCOV="$(pwd)/lcov-1.13/bin/lcov"
32 mkdir -p _coverage
33 mkdir -p _ccache
34 export CCACHE_BASEDIR="$(pwd)"
35 export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
36 pip3 install --upgrade --user meson==0.47.0
37 export PATH="$HOME/.local/bin:$PATH"
38 export CFLAGS="-coverage -ftest-coverage -fprofile-arcs"
39 DIR="$(pwd)"
41 meson --werror --buildtype debug _build
42 cd _build
43 ninja
45 "${LCOV}" \
46 --quiet \
47 --rc lcov_branch_coverage=1 \
48 --directory "${DIR}/_build" \
49 --capture \
50 --initial \
51 --output-file "${DIR}/_coverage/${CI_JOB_NAME}-baseline.lcov"
53 # FIXME: fix the test suite
54 meson test --timeout-multiplier ${MESON_TEST_TIMEOUT_MULTIPLIER} || true
56 "${LCOV}" \
57 --quiet \
58 --rc lcov_branch_coverage=1 \
59 --directory "${DIR}/_build" \
60 --capture \
61 --output-file "${DIR}/_coverage/${CI_JOB_NAME}.lcov"