mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 15:06:14 +01:00
7d1e782c65
It was disabled in !875 because lcov didn't support the new coverage format produced by gcc9+. The latest lcov release in MSYS2 supports it again, so re-enable everything. lcov now writes native Windows paths to its output so adjust the path fixup script to handle those.
68 lines
1.7 KiB
Bash
Executable File
68 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
export PATH="/c/msys64/$MSYSTEM/bin:$PATH"
|
|
if [[ "$MSYSTEM" == "MINGW32" ]]; then
|
|
export MSYS2_ARCH="i686"
|
|
else
|
|
export MSYS2_ARCH="x86_64"
|
|
fi
|
|
|
|
pacman --noconfirm -Suy
|
|
|
|
pacman --noconfirm -S --needed \
|
|
base-devel \
|
|
lcov \
|
|
mingw-w64-$MSYS2_ARCH-ccache \
|
|
mingw-w64-$MSYS2_ARCH-gettext \
|
|
mingw-w64-$MSYS2_ARCH-libffi \
|
|
mingw-w64-$MSYS2_ARCH-meson \
|
|
mingw-w64-$MSYS2_ARCH-pcre \
|
|
mingw-w64-$MSYS2_ARCH-python3 \
|
|
mingw-w64-$MSYS2_ARCH-python3-pip \
|
|
mingw-w64-$MSYS2_ARCH-toolchain \
|
|
mingw-w64-$MSYS2_ARCH-zlib \
|
|
mingw-w64-$MSYS2_ARCH-libelf
|
|
|
|
mkdir -p _coverage
|
|
mkdir -p _ccache
|
|
CCACHE_BASEDIR="$(pwd)"
|
|
CCACHE_DIR="${CCACHE_BASEDIR}/_ccache"
|
|
export CCACHE_BASEDIR CCACHE_DIR
|
|
|
|
pip3 install --upgrade --user meson==0.49.2
|
|
|
|
PATH="$(cygpath "$USERPROFILE")/.local/bin:$HOME/.local/bin:$PATH"
|
|
CFLAGS="-coverage -ftest-coverage -fprofile-arcs"
|
|
DIR="$(pwd)"
|
|
export PATH CFLAGS
|
|
|
|
meson --werror --buildtype debug _build
|
|
cd _build
|
|
ninja
|
|
|
|
lcov \
|
|
--quiet \
|
|
--config-file "${DIR}"/.gitlab-ci/lcovrc \
|
|
--directory "${DIR}/_build" \
|
|
--capture \
|
|
--initial \
|
|
--output-file "${DIR}/_coverage/${CI_JOB_NAME}-baseline.lcov"
|
|
|
|
# FIXME: fix the test suite
|
|
meson test --timeout-multiplier "${MESON_TEST_TIMEOUT_MULTIPLIER}" --no-suite flaky || true
|
|
|
|
python3 "${DIR}"/.gitlab-ci/meson-junit-report.py \
|
|
--project-name glib \
|
|
--job-id "${CI_JOB_NAME}" \
|
|
--output "${DIR}/_build/${CI_JOB_NAME}-report.xml" \
|
|
"${DIR}/_build/meson-logs/testlog.json"
|
|
|
|
lcov \
|
|
--quiet \
|
|
--config-file "${DIR}"/.gitlab-ci/lcovrc \
|
|
--directory "${DIR}/_build" \
|
|
--capture \
|
|
--output-file "${DIR}/_coverage/${CI_JOB_NAME}.lcov"
|