#!/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 \ 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 curl -O -J -L "https://github.com/linux-test-project/lcov/releases/download/v1.14/lcov-1.14.tar.gz" echo "14995699187440e0ae4da57fe3a64adc0a3c5cf14feab971f8db38fb7d8f071a lcov-1.14.tar.gz" | sha256sum -c tar -xzf lcov-1.14.tar.gz LCOV="$(pwd)/lcov-1.14/bin/lcov" mkdir -p _coverage mkdir -p _ccache export CCACHE_BASEDIR="$(pwd)" export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache" pip3 install --upgrade --user meson==0.49.2 export PATH="$HOME/.local/bin:$PATH" export CFLAGS="-coverage -ftest-coverage -fprofile-arcs" DIR="$(pwd)" meson --werror --buildtype debug _build cd _build ninja # FIXME: lcov doesn't support gcc9 yet: # https://github.com/linux-test-project/lcov/issues/58 #"${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" # FIXME: see above #"${LCOV}" \ # --quiet \ # --config-file "${DIR}"/.gitlab-ci/lcovrc \ # --directory "${DIR}/_build" \ # --capture \ # --output-file "${DIR}/_coverage/${CI_JOB_NAME}.lcov"