lomiri.*: Add mesa.llvmpipeHook, re-allow affected test(s) (#369525)

This commit is contained in:
Cosima Neidahl
2025-01-08 22:32:50 +01:00
committed by GitHub
6 changed files with 10 additions and 189 deletions
@@ -12,6 +12,7 @@
lomiri-sounds,
lomiri-ui-toolkit,
makeWrapper,
mesa,
pkg-config,
qtbase,
qtdeclarative,
@@ -77,6 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
];
nativeCheckInputs = [
mesa.llvmpipeHook # ShapeMaterial needs an OpenGL context: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/35
qtdeclarative # qmltestrunner
xvfb-run
];
@@ -87,20 +89,6 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "CLICK_MODE" false)
(lib.cmakeBool "INSTALL_TESTS" false)
(lib.cmakeBool "USE_XVFB" true)
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (
lib.concatStringsSep ";" [
# Exclude tests
"-E"
(lib.strings.escapeShellArg "(${
lib.concatStringsSep "|" [
# Runs into ShapeMaterial codepath in lomiri-ui-toolkit which needs OpenGL, see LUITK for details
"^AlarmLabel"
"^AlarmRepeat"
"^AlarmSound"
]
})")
]
))
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
@@ -29,6 +29,7 @@
lomiri-settings-components,
lomiri-ui-toolkit,
maliit-keyboard,
mesa,
pkg-config,
polkit,
python3,
@@ -136,6 +137,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeCheckInputs = [
dbus
mesa.llvmpipeHook # ShapeMaterial needs an OpenGL context: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/35
(python3.withPackages (ps: with ps; [ python-dbusmock ]))
xvfb-run
];
@@ -151,19 +153,6 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlags = [
(lib.cmakeBool "ENABLE_LIBDEVICEINFO" true)
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (
lib.concatStringsSep ";" [
# Exclude tests
"-E"
(lib.strings.escapeShellArg "(${
lib.concatStringsSep "|" [
# Hits OpenGL context issue inside lomiri-ui-toolkit, see derivation of that on details
"^testmouse"
"^tst_notifications"
]
})")
]
))
];
# The linking for this normally ignores missing symbols, which is inconvenient for figuring out why subpages may be
@@ -12,6 +12,7 @@
lomiri-content-hub,
lomiri-ui-extras,
lomiri-ui-toolkit,
mesa,
pkg-config,
qqc2-suru-style,
qtbase,
@@ -90,6 +91,7 @@ stdenv.mkDerivation (finalAttrs: {
];
nativeCheckInputs = [
mesa.llvmpipeHook # ShapeMaterial needs an OpenGL context: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/35
xvfb-run
];
@@ -102,9 +104,6 @@ stdenv.mkDerivation (finalAttrs: {
lib.concatStringsSep "|" [
# Don't care about linter failures
"^flake8"
# Runs into ShapeMaterial codepath in lomiri-ui-toolkit which needs OpenGL, see LUITK for details
"^tst_QmlTests"
]
})")
]
@@ -8,6 +8,7 @@
cups,
exiv2,
lomiri-ui-toolkit,
mesa,
pam,
pkg-config,
qtbase,
@@ -48,6 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
];
nativeCheckInputs = [
mesa.llvmpipeHook # ShapeMaterial needs an OpenGL context: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/35
qtdeclarative # qmltestrunner
xvfb-run
];
@@ -66,8 +68,6 @@ stdenv.mkDerivation (finalAttrs: {
"-E"
(lib.strings.escapeShellArg "(${
lib.concatStringsSep "|" [
# tst_busy_indicator runs into a codepath in lomiri-ui-toolkit that expects a working GL context
"^tst_busy_indicator"
# Photo & PhotoImageProvider Randomly fail, unsure why
"^tst_PhotoEditorPhoto"
]
@@ -1,155 +0,0 @@
From c71d5fed4ef1f0b6d56400cddf02d8ac438168c8 Mon Sep 17 00:00:00 2001
From: OPNA2608 <opna2608@protonmail.com>
Date: Wed, 17 Apr 2024 16:18:23 +0200
Subject: [PATCH] Mark problematic tests
- ShapeMaterial requires a Qt OpenGL context, doesn't work in our sandbox
- SignalSpy on QML shaders compilers don't see changes
- TypeError on some properties with Qt 5.15
https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/9
---
tests/checkresults.sh | 88 ++++++++++++++++++++++++++++++++++++++++---
1 file changed, 82 insertions(+), 6 deletions(-)
diff --git a/tests/checkresults.sh b/tests/checkresults.sh
index fc498985e..b5d204d0d 100755
--- a/tests/checkresults.sh
+++ b/tests/checkresults.sh
@@ -22,6 +22,7 @@ ERRORS_PATTERN='<failure'
FAILURES=0
FATAL_WARNINGS=0
+EXCEPTED_FAILURES=0
EXCEPTED=0
for _XML in $*; do
_TESTNAME=$(basename $_XML | sed -r 's@(.+)\.xml@\1@' -)
@@ -31,7 +32,71 @@ for _XML in $*; do
exit 1
fi
- EXCEPTIONS='components_benchmark \
+ ERROR_EXCEPTIONS='\
+ tst_actionbar.13.qml \
+ tst_actionlist.13.qml \
+ tst_adaptivepagelayout.13.qml \
+ tst_adaptivepagelayout_configuration.13.qml \
+ tst_combobutton.11.qml \
+ tst_combobutton.13.qml \
+ tst_contextual_actions.13.qml \
+ tst_focus.13.qml \
+ tst_header.13.qml \
+ tst_hide_chrome.11.qml \
+ tst_listitem.12.qml \
+ tst_listitem.13.qml \
+ tst_listitem_actions_breaks_selectmode.12.qml \
+ tst_listitem_extras.13.qml \
+ tst_listitem_focus.13.qml \
+ tst_listitem_horizontal_navigation.13.qml \
+ tst_listitem_selectmode.12.qml \
+ tst_listitem_selectmode.13.qml \
+ tst_listitems_itemselector.11.qml \
+ tst_listitems_standard.11.qml \
+ tst_listitems_standard.13.qml \
+ tst_lomirilistview.11.qml \
+ tst_lomiritestcase.qml \
+ tst_multicolumnheader.13.qml \
+ tst_optionselector.11.qml \
+ tst_optionselector.13.qml \
+ tst_page_with_header.13.qml \
+ tst_pagehead_back_action.13.qml \
+ tst_pagehead_contents_width.13.qml \
+ tst_pagehead_sections.13.qml \
+ tst_pagehead_visible.13.qml \
+ tst_pageheader.13.qml \
+ tst_pagestack.13.qml \
+ tst_pagestack.DEPRECATED_APPHEADER_TABS.13.qml \
+ tst_picker.11.qml \
+ tst_picker.13.qml \
+ tst_popover.12.qml \
+ tst_popover.13.qml \
+ tst_popups_dialog.13.qml \
+ tst_popups_pagestack.13.qml \
+ tst_pulltorefresh_pagestack_topmargin.13.qml \
+ tst_slider.11.qml \
+ tst_slider.13.qml \
+ tst_switch_bug1510919.13.qml \
+ tst_tabs.11.qml \
+ tst_tabs.13.qml \
+ tst_tabs.DEPRECATED_TOOLBAR.11.qml \
+ tst_textarea.11.qml \
+ tst_textarea_in_flickable.11.qml \
+ tst_textfield.11.qml \
+ tst_textinput_common.12.qml \
+ tst_textinput_common.13.qml \
+ tst_toggles.13.qml \
+ inversemousearea \
+ layouts \
+ recreateview \
+ subtheming \
+ swipearea \
+ tst_icon.11.qml \
+ tst_icon.13.qml \
+ '
+
+ EXCEPTIONS='\
+ components_benchmark \
tst_tabbar.11.qml \
tst_datepicker.bug1567840.SEGFAULT.12.qml \
tst_datepicker.bug1567840.SEGFAULT.13.qml \
@@ -49,22 +114,28 @@ for _XML in $*; do
inversemousearea \
tst_listitem_focus_bug.13.qml \
tst_shortcuts.13.qml \
+ tst_pagestack.DEPRECATED_TOOLBAR.11.qml \
'
WARNINGS=$(grep -c -P "$WARNINGS_PATTERN" $_XML)
ERRORS=$(grep -c -P "$ERRORS_PATTERN" $_XML)
if [ $ERRORS -ne 0 ]; then
- FAILURES_FILES="${FAILURES_FILES} ${_TESTNAME}\n"
- ((FAILURES+=$ERRORS))
+ if [[ " $ERROR_EXCEPTIONS " == *" $_TESTNAME "* ]]; then
+ EXCEPTED_FAILURES_FILES="${EXCEPTED_FAILURES_FILES} ${_TESTNAME}\n"
+ ((EXCEPTED_FAILURES+=$ERRORS))
+ else
+ FAILURES_FILES="${FAILURES_FILES} ${_TESTNAME}\n"
+ ((FAILURES+=$ERRORS))
+ fi
elif [ $WARNINGS -ne 0 ]; then
- if [[ $EXCEPTIONS == *$_TESTNAME* ]]; then
+ if [[ " $EXCEPTIONS " == *" $_TESTNAME "* ]]; then
EXCEPTED_FILES="${EXCEPTED_FILES} ${_TESTNAME}\n"
((EXCEPTED+=$WARNINGS))
else
FATAL_WARNINGS_FILES="${FATAL_WARNINGS_FILES} ${_TESTNAME}\n"
((FATAL_WARNINGS+=$WARNINGS))
fi
- elif [[ $EXCEPTIONS == *$_TESTNAME* ]]; then
+ elif [[ " $ERROR_EXCEPTIONS " == *" $_TESTNAME "* || " $EXCEPTIONS " == *" $_TESTNAME "* ]]; then
WOOT_FILES="${WOOT_FILES} ${_TESTNAME}\n"
fi
done
@@ -82,6 +153,11 @@ if [ -n "$FATAL_WARNINGS_FILES" ]; then
echo -e "$FATAL_WARNINGS_FILES"
fi
+if [ -n "$EXCEPTED_FAILURES_FILES" ]; then
+ echo The following tests issued $EXCEPTED_FAILURES expected failures:
+ echo -e "$EXCEPTED_FAILURES_FILES"
+fi
+
if [ -n "$EXCEPTED_FILES" ]; then
echo The following tests issued $EXCEPTED expected warnings:
echo -e "$EXCEPTED_FILES"
@@ -89,7 +165,7 @@ fi
if [ -n "$WOOT_FILES" ]; then
echo Woot! Known problematic tests passed!
- echo Consider removing these from EXCEPTIONS in ${0#$(pwd)/}!
+ echo Consider removing these from ERROR_EXCEPTIONS/EXCEPTIONS in ${0#$(pwd)/}!
echo -e "$WOOT_FILES"
fi
--
2.42.0
@@ -10,6 +10,7 @@
gdb,
glib,
lttng-ust,
mesa,
perl,
pkg-config,
python3,
@@ -60,8 +61,6 @@ stdenv.mkDerivation (finalAttrs: {
];
patches = [
./2001-Mark-problematic-tests.patch
(substituteAll {
src = ./2002-Nixpkgs-versioned-QML-path.patch.in;
name = "2002-Nixpkgs-versioned-QML-path.patch";
@@ -149,6 +148,7 @@ stdenv.mkDerivation (finalAttrs: {
dbus-test-runner
dpkg # `dpkg-architecture -qDEB_HOST_ARCH` response decides how tests are run
gdb
mesa.llvmpipeHook # ShapeMaterial needs an OpenGL context: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/35
xvfb-run
];