From 18c1d9672ab964aafdf506e27e4e211550a874c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Fri, 17 Aug 2018 14:15:29 +0200 Subject: [PATCH] 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 --- .gitlab-ci.yml | 13 +++++++++++++ .gitlab-ci/Dockerfile | 3 +++ 2 files changed, 16 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index df15a050d..32a1797a1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 diff --git a/.gitlab-ci/Dockerfile b/.gitlab-ci/Dockerfile index cc7136d43..a1dd27c38 100644 --- a/.gitlab-ci/Dockerfile +++ b/.gitlab-ci/Dockerfile @@ -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