mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-28 22:41:43 +00:00
13f8583934
The test setup mechanism in meson is not flexible enough to let us run different suites depending on setup, so just pass in explicitly which suites we want to skip, depending on the backend.
80 lines
2.0 KiB
Bash
Executable File
80 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set +x
|
|
set +e
|
|
|
|
srcdir=$( pwd )
|
|
builddir=$1
|
|
backend=$2
|
|
|
|
case "${backend}" in
|
|
x11)
|
|
xvfb-run -a -s "-screen 0 1024x768x24" \
|
|
meson test -C ${builddir} \
|
|
--print-errorlogs \
|
|
--setup=${backend} \
|
|
--suite=gtk \
|
|
--no-suite=gtk:a11y \
|
|
--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 &
|
|
compositor=$!
|
|
export WAYLAND_DISPLAY=wayland-5
|
|
|
|
meson test -C ${builddir} \
|
|
--print-errorlogs \
|
|
--setup=${backend} \
|
|
--suite=gtk \
|
|
--no-suite=gtk:a11y \
|
|
--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} \
|
|
--print-errorlogs \
|
|
--setup=${backend} \
|
|
--suite=gtk \
|
|
--no-suite=gtk:a11y \
|
|
--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
|