Compare commits

...

3 Commits

Author SHA1 Message Date
Benjamin Otte
68161f022e CI: Use mutter for the x11-full testsuite run
This spawns a mutter WM for the xvfb instance and wraps it in its own
dbus session.

Also use a larger screen size (1080p) - mostly so we can check the
testuite runs with differently sized screens, but alspo because that's
today's default screen size.

This exposes the issue from #4136 in the testsuite.
2022-05-21 21:12:39 +02:00
Benjamin Otte
0e95145a23 testsuite: Split X11 testsuite
Duplicate the X11 testsuite into x11full and x11bare.
Run both of them in the Fedora CI runner.

For now they do the same thing (followup commits will change that), but
the goal is to have 2 testruns:

x11full should get as close to simulating a modern full-featured setup
with a compositing WM and all extensions.

x11bare should have the minimum required setup that te testsuite needs,
but nothing more. No compositor, a WM wit the minimal set of features,
etc.
2022-05-21 21:12:39 +02:00
Benjamin Otte
4f9bd991c3 Add mutter and lcms2-devel to the Fedora image
mutter will be needed to get a WM for the x11 testsuite.

lcms2 is needed for upcoming HDR work, so having it available in
varioius branches is neat.
2022-05-21 18:25:49 +02:00
4 changed files with 31 additions and 7 deletions

View File

@@ -25,7 +25,7 @@ variables:
BACKEND_FLAGS: "-Dx11-backend=true -Dwayland-backend=true -Dbroadway-backend=true"
FEATURE_FLAGS: "-Dvulkan=enabled -Dcloudproviders=enabled"
MESON_TEST_TIMEOUT_MULTIPLIER: 3
FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/gtk/fedora:v38"
FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/gtk/fedora:v39"
FLATPAK_IMAGE: "registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master"
.only-default:
@@ -49,7 +49,7 @@ style-check-diff:
when: always
reports:
junit:
- "${CI_PROJECT_DIR}/_build/report-x11.xml"
- "${CI_PROJECT_DIR}/_build/report-x11full.xml"
- "${CI_PROJECT_DIR}/_build/report-wayland.xml"
- "${CI_PROJECT_DIR}/_build/report-broadway.xml"
name: "gtk-${CI_COMMIT_REF_NAME}"
@@ -90,7 +90,8 @@ fedora-x86_64:
- meson install -C _build
- PKG_CONFIG_PATH=${CI_PROJECT_DIR}/_install/lib64/pkgconfig:${CI_PROJECT_DIR}/_install/share/pkgconfig meson setup _build_hello examples/hello
- LD_LIBRARY_PATH=${CI_PROJECT_DIR}/_install/lib64 meson compile -C _build_hello
- .gitlab-ci/run-tests.sh _build x11
- .gitlab-ci/run-tests.sh _build x11bare
- .gitlab-ci/run-tests.sh _build x11full
- .gitlab-ci/run-tests.sh _build wayland
- .gitlab-ci/run-tests.sh _build waylandgles
- .gitlab-ci/run-tests.sh _build broadway
@@ -107,7 +108,7 @@ release-build:
- meson ${COMMON_MESON_FLAGS} ${EXTRA_MESON_FLAGS} ${BACKEND_FLAGS} ${FEATURE_FLAGS}
_build
- ninja -C _build
- .gitlab-ci/run-tests.sh _build x11
- .gitlab-ci/run-tests.sh _build x11full
installed-tests:
extends: .build-fedora-default

View File

@@ -42,6 +42,7 @@ RUN dnf -y install \
iso-codes \
itstool \
json-glib-devel \
lcms2-devel \
lcov \
libasan \
libattr-devel \
@@ -71,6 +72,7 @@ RUN dnf -y install \
mesa-libEGL-devel \
mesa-libGLES-devel \
meson \
mutter \
ninja-build \
pango-devel \
pcre-devel \

View File

@@ -12,7 +12,23 @@ export LSAN_OPTIONS=suppressions=$srcdir/lsan.supp:print_suppressions=0
export G_SLICE=always-malloc
case "${backend}" in
x11)
x11full)
xvfb-run -a -s "-screen 0 1920x1080x24 -noreset" \
dbus-run-session \
mutter --x11 -- \
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=$?
;;
x11bare)
xvfb-run -a -s "-screen 0 1024x768x24 -noreset" \
meson test -C ${builddir} \
--timeout-multiplier "${MESON_TEST_TIMEOUT_MULTIPLIER}" \

View File

@@ -12,10 +12,15 @@ common_env = [
]
if x11_enabled
add_test_setup ('x11',
add_test_setup ('x11bare',
env: common_env + [
'GDK_BACKEND=x11',
'TEST_OUTPUT_SUBDIR=x11',
'TEST_OUTPUT_SUBDIR=x11bare',
])
add_test_setup ('x11full',
env: common_env + [
'GDK_BACKEND=x11',
'TEST_OUTPUT_SUBDIR=x11full',
])
endif