Qt 6.9: Only disable software rendering for darkmode tests

Looks like the "tests hanging" issue was fixed between Beta 3 and RC.

See #8444
This commit is contained in:
Florian Bruhin 2025-03-15 16:49:43 +01:00
parent 4c9e989c39
commit b0e05ee160
3 changed files with 18 additions and 14 deletions

View File

@ -80,8 +80,9 @@ qt_log_ignore =
QItemSelectionModel: Selecting when no model has been set will result in a no-op.
^QSaveFile::commit: File \(.*[/\\]test_failing_flush0[/\\]foo\) is not open$
^The following paths were searched for Qt WebEngine dictionaries:.*
# Qt 6.9 Beta 1-3 with Xvfb
# Qt 6.9 with Xvfb
^Backend texture is not a Vulkan texture\.$
^Compositor returned null texture$
# With offscreen platform plugin
^This plugin does not support (raise\(\)|propagateSizeHints\(\)|createPlatformVulkanInstance|grabbing the keyboard)$
^QRhiGles2: Failed to create (temporary )?context$

View File

@ -515,6 +515,10 @@ def test_preferred_colorscheme_with_dark_mode(
'-s', 'colors.webpage.darkmode.enabled', 'true',
'-s', 'colors.webpage.darkmode.algorithm', 'brightness-rgb',
]
if webengine_versions.webengine == utils.VersionNumber(6, 9):
# WORKAROUND: For unknown reasons, dark mode colors are wrong with
# Qt 6.9 + hardware rendering + Xvfb.
args += testutils.SOFTWARE_RENDERING_ARGS
quteproc_new.start(args)
quteproc_new.open_path('data/darkmode/prefers-color-scheme.html')
@ -741,10 +745,13 @@ def test_dark_mode(webengine_versions, quteproc_new, request,
'-s', 'colors.webpage.darkmode.enabled', 'true',
'-s', 'colors.webpage.darkmode.algorithm', algorithm,
]
quteproc_new.start(args)
if webengine_versions.webengine == utils.VersionNumber(6, 9):
# WORKAROUND: For unknown reasons, dark mode colors are wrong with
# Qt 6.9 + hardware rendering + Xvfb.
args += testutils.SOFTWARE_RENDERING_ARGS
ver = webengine_versions.webengine
minor_version = str(ver.strip_patch())
quteproc_new.start(args)
minor_version = str(webengine_versions.webengine.strip_patch())
arch = platform.machine()
for key in [
@ -777,6 +784,11 @@ def test_dark_mode_mathml(webengine_versions, quteproc_new, request, qtbot, suff
'-s', 'colors.webpage.darkmode.enabled', 'true',
'-s', 'colors.webpage.darkmode.algorithm', 'brightness-rgb',
]
if webengine_versions.webengine == utils.VersionNumber(6, 9):
# WORKAROUND: For unknown reasons, dark mode colors are wrong with
# Qt 6.9 + hardware rendering + Xvfb.
args += testutils.SOFTWARE_RENDERING_ARGS
quteproc_new.start(args)
quteproc_new.open_path(f'data/darkmode/mathml-{suffix}.html')

View File

@ -330,16 +330,7 @@ def offscreen_plugin_enabled() -> bool:
def use_software_rendering() -> bool:
"""Check whether to enforce software rendering for tests."""
if not _has_qtwebengine():
return False
versions = version.qtwebengine_versions(avoid_init=True)
return (
# https://github.com/qutebrowser/qutebrowser/issues/8444#issuecomment-2569554046
# not on CI, but unknown how to tell apart affected / unaffected systems
versions.webengine == utils.VersionNumber(6, 9)
or offscreen_plugin_enabled()
)
return _has_qtwebengine() and offscreen_plugin_enabled()
def import_userscript(name):