Run GUI tests on Wayland as well

This commit is contained in:
Elliott Sales de Andrade
2024-12-19 05:19:16 -05:00
parent 8b8c357ab9
commit 4271371599
7 changed files with 69 additions and 19 deletions
+23 -14
View File
@@ -64,13 +64,16 @@ Patch1004: 0004-Unpin-meson-python-build-requirement.patch
# https://github.com/matplotlib/matplotlib/pull/21190#issuecomment-1223271888
Patch0001: 0005-Use-old-stride_windows-implementation-on-32-bit-x86.patch
# https://github.com/matplotlib/matplotlib/pull/29206
Patch0002: 0006-Merge-pull-request-29206-from-QuLogic-wayland-tests.patch
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glibc-langpack-en
BuildRequires: freetype-devel
BuildRequires: libpng-devel
BuildRequires: qhull-devel
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: xwayland-run
BuildRequires: zlib-devel
BuildRequires: ghostscript
@@ -209,6 +212,7 @@ errorcharts, scatterplots, etc, with just a few lines of code.
Summary: Qt5 backend for python3-matplotlib
BuildRequires: python3dist(cairocffi)
BuildRequires: python3dist(pyqt5)
BuildRequires: qt5-qtwayland
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3dist(cairocffi)
Requires: python3dist(pyqt5)
@@ -222,6 +226,7 @@ Summary: Qt6 backend for python3-matplotlib
BuildRequires: python3dist(cairocffi)
BuildRequires: python3dist(pyqt6)
BuildRequires: python3-pyqt6
BuildRequires: qt6-qtwayland
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3dist(cairocffi)
Requires: python3dist(pyqt6)
@@ -368,20 +373,24 @@ export http_proxy=http://127.0.0.1/
k="${k-}${k+ and }not test_invisible_Line_rendering"
# This test is flaky.
k="${k-}${k+ and }not test_form_widget_get_with_datetime_and_date_fields"
%ifarch %{ix86}
# This test won't work due to Xvfb not existing.
k="${k-}${k+ and }not test_cross_Qt_imports"
%endif
# This fixes GTK4 which is missing a dependency for its current default renderer.
GSK_RENDERER=cairo \
MPLCONFIGDIR=$PWD \
%ifnarch %{ix86}
xvfb-run -a -s "-screen 0 640x480x24" \
%endif
env %{pytest} -ra -n auto \
-m 'not network' -k "${k-}" \
--pyargs matplotlib mpl_toolkits.axes_grid1 mpl_toolkits.axisartist mpl_toolkits.mplot3d
env MPLCONFIGDIR=$PWD \
%{pytest} -ra -n auto \
-m 'not network' -k "${k-}" \
--pyargs matplotlib mpl_toolkits.axes_grid1 mpl_toolkits.axisartist mpl_toolkits.mplot3d
# Skip GTK3Cairo tests that are broken in virtual display.
k="${k-}${k+ and }not (test_interactive_thread_safety and gtk3cairo)"
k="${k-}${k+ and }not (test_interactive_timers and gtk3cairo)"
# Run backend tests with Wayland.
wlheadless-run -- env MPLCONFIGDIR=$PWD GDK_BACKEND=wayland QT_QPA_PLATFORM=wayland \
%{pytest} -vra -n auto \
-m 'not network' -k "${k-}" \
--pyargs matplotlib.tests.test_backend_gtk3 matplotlib.tests.test_backend_qt matplotlib.tests.test_backend_tk matplotlib.tests.test_backends_interactive
# Run backend tests with XWayland.
xwfb-run -- env MPLCONFIGDIR=$PWD \
%{pytest} -ra -n auto \
-m 'not network' -k "${k-}" \
--pyargs matplotlib.tests.test_backend_gtk3 matplotlib.tests.test_backend_qt matplotlib.tests.test_backend_tk matplotlib.tests.test_backends_interactive
%endif