mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 10:50:10 +00:00
a06339fb48
This may help with the sporadic "No display" failures we are seeing when running tests under X11 in ci.
83 lines
2.2 KiB
Bash
Executable File
83 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set +x
|
|
set +e
|
|
|
|
srcdir=$( pwd )
|
|
builddir=$1
|
|
backend=$2
|
|
|
|
# Ignore memory leaks lower in dependencies
|
|
export LSAN_OPTIONS=suppressions=$srcdir/lsan.supp
|
|
|
|
case "${backend}" in
|
|
x11)
|
|
xvfb-run -a -s "-screen 0 1024x768x24 -noreset" \
|
|
meson test -C ${builddir} \
|
|
--timeout-multiplier "${MESON_TEST_TIMEOUT_MULTIPLIER}" \
|
|
--print-errorlogs \
|
|
--setup=${backend} \
|
|
--suite=gtk \
|
|
--no-suite=gsk-compare-broadway
|
|
|
|
# Store the exit code for the CI run, but always
|
|
# generate the reports
|
|
exit_code=$?
|
|
;;
|
|
|
|
wayland)
|
|
export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
|
|
|
|
weston --backend=headless-backend.so --socket=wayland-5 --idle-time=0 &
|
|
compositor=$!
|
|
export WAYLAND_DISPLAY=wayland-5
|
|
|
|
meson test -C ${builddir} \
|
|
--timeout-multiplier "${MESON_TEST_TIMEOUT_MULTIPLIER}" \
|
|
--print-errorlogs \
|
|
--setup=${backend} \
|
|
--suite=gtk \
|
|
--no-suite=gsk-compare-broadway
|
|
|
|
exit_code=$?
|
|
kill ${compositor}
|
|
;;
|
|
|
|
broadway)
|
|
export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
|
|
|
|
${builddir}/gdk/broadway/gtk4-broadwayd :5 &
|
|
server=$!
|
|
export BROADWAY_DISPLAY=:5
|
|
|
|
meson test -C ${builddir} \
|
|
--timeout-multiplier "${MESON_TEST_TIMEOUT_MULTIPLIER}" \
|
|
--print-errorlogs \
|
|
--setup=${backend} \
|
|
--suite=gtk \
|
|
--no-suite=gsk-compare-opengl
|
|
|
|
# don't let Broadway failures fail the run, for now
|
|
exit_code=0
|
|
kill ${server}
|
|
;;
|
|
esac
|
|
|
|
cd ${builddir}
|
|
|
|
$srcdir/.gitlab-ci/meson-junit-report.py \
|
|
--project-name=gtk \
|
|
--backend=${backend} \
|
|
--job-id="${CI_JOB_NAME}" \
|
|
--output=report-${backend}.xml \
|
|
meson-logs/testlog-${backend}.json
|
|
$srcdir/.gitlab-ci/meson-html-report.py \
|
|
--project-name=gtk \
|
|
--backend=${backend} \
|
|
--job-id="${CI_JOB_NAME}" \
|
|
--reftest-output-dir="testsuite/reftests/output/${backend}" \
|
|
--output=report-${backend}.html \
|
|
meson-logs/testlog-${backend}.json
|
|
|
|
exit $exit_code
|