gitlab-ci: Add test stage

The test stage runs the whole meson test suite inside Xvfb inside a dbus
session. Running inside Xvfb is required as the cogl, clutter and mutter
tests require to run on top of X11; the dbus session is required to make
mutter succeed in owning names on the bus.

This also updates the Dockerfile to include packages needed for running
tests.

https://gitlab.gnome.org/GNOME/mutter/issues/193
This commit is contained in:
Jonas Ådahl 2018-08-17 14:15:29 +02:00
parent bd624e4dfb
commit 18c1d9672a
2 changed files with 16 additions and 0 deletions

View File

@ -2,6 +2,7 @@ image: registry.gitlab.gnome.org/gnome/mutter/master:v1
stages:
- build
- test
build-mutter:
stage: build
@ -9,3 +10,15 @@ build-mutter:
- meson . build -Degl_device=true -Dwayland_eglstream=true
- ninja -C build
- ninja -C build install
test-mutter:
stage: test
script:
- meson . build -Degl_device=true -Dwayland_eglstream=true
- ninja -C build
- glib-compile-schemas $PWD/build/data
- env XDG_RUNTIME_DIR=/tmp/ GSETTINGS_SCHEMA_DIR=$PWD/build/data dbus-run-session -- xvfb-run -s '+iglx -noreset' meson test -C build --verbose --no-stdsplit
artifacts:
paths:
- build/meson-logs
when: on_failure

View File

@ -7,5 +7,8 @@ RUN dnf -y update && dnf -y upgrade && \
# Until Fedora catches up with meson build-deps
dnf install -y meson xorg-x11-server-Xorg gnome-settings-daemon-devel egl-wayland-devel xorg-x11-server-Xwayland && \
# For running unit tests
dnf install -y xorg-x11-server-Xvfb mesa-dri-drivers dbus dbus-x11 && \
dnf install -y intltool redhat-rpm-config make && \
dnf clean all