Imported Upstream version 2.73.3
[platform/upstream/glib.git] / .gitlab-ci / test-msys2.sh
1 #!/bin/bash
2
3 set -e
4
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"
10 fi
11
12 pacman --noconfirm -Suy
13
14 pacman --noconfirm -S --needed \
15     base-devel \
16     lcov \
17     mingw-w64-$MSYS2_ARCH-ccache \
18     mingw-w64-$MSYS2_ARCH-gettext \
19     mingw-w64-$MSYS2_ARCH-libffi \
20     mingw-w64-$MSYS2_ARCH-meson \
21     mingw-w64-$MSYS2_ARCH-pcre2 \
22     mingw-w64-$MSYS2_ARCH-python3 \
23     mingw-w64-$MSYS2_ARCH-python-pip \
24     mingw-w64-$MSYS2_ARCH-toolchain \
25     mingw-w64-$MSYS2_ARCH-zlib \
26     mingw-w64-$MSYS2_ARCH-libelf
27
28 mkdir -p _coverage
29 mkdir -p _ccache
30 CCACHE_BASEDIR="$(pwd)"
31 CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
32 export CCACHE_BASEDIR CCACHE_DIR
33
34 pip3 install --upgrade --user meson==0.60.3
35
36 PATH="$(cygpath "$USERPROFILE")/.local/bin:$HOME/.local/bin:$PATH"
37 CFLAGS="-coverage -ftest-coverage -fprofile-arcs"
38 DIR="$(pwd)"
39 export PATH CFLAGS
40
41 meson --werror --buildtype debug _build
42 cd _build
43 ninja
44
45 lcov \
46     --quiet \
47     --config-file "${DIR}"/.lcovrc \
48     --directory "${DIR}/_build" \
49     --capture \
50     --initial \
51     --output-file "${DIR}/_coverage/${CI_JOB_NAME}-baseline.lcov"
52
53 # FIXME: fix the test suite
54 meson test --timeout-multiplier "${MESON_TEST_TIMEOUT_MULTIPLIER}" --no-suite flaky || true
55
56 lcov \
57     --quiet \
58     --config-file "${DIR}"/.lcovrc \
59     --directory "${DIR}/_build" \
60     --capture \
61     --output-file "${DIR}/_coverage/${CI_JOB_NAME}.lcov"