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

authored by Cosima Neidahl and committed by GitHub 0b5b7169 0bada718

+10 -189
+2 -14
pkgs/desktops/lomiri/applications/lomiri-clock-app/default.nix
··· 12 lomiri-sounds, 13 lomiri-ui-toolkit, 14 makeWrapper, 15 pkg-config, 16 qtbase, 17 qtdeclarative, ··· 77 ]; 78 79 nativeCheckInputs = [ 80 qtdeclarative # qmltestrunner 81 xvfb-run 82 ]; ··· 87 (lib.cmakeBool "CLICK_MODE" false) 88 (lib.cmakeBool "INSTALL_TESTS" false) 89 (lib.cmakeBool "USE_XVFB" true) 90 - (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" ( 91 - lib.concatStringsSep ";" [ 92 - # Exclude tests 93 - "-E" 94 - (lib.strings.escapeShellArg "(${ 95 - lib.concatStringsSep "|" [ 96 - # Runs into ShapeMaterial codepath in lomiri-ui-toolkit which needs OpenGL, see LUITK for details 97 - "^AlarmLabel" 98 - "^AlarmRepeat" 99 - "^AlarmSound" 100 - ] 101 - })") 102 - ] 103 - )) 104 ]; 105 106 doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
··· 12 lomiri-sounds, 13 lomiri-ui-toolkit, 14 makeWrapper, 15 + mesa, 16 pkg-config, 17 qtbase, 18 qtdeclarative, ··· 78 ]; 79 80 nativeCheckInputs = [ 81 + mesa.llvmpipeHook # ShapeMaterial needs an OpenGL context: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/35 82 qtdeclarative # qmltestrunner 83 xvfb-run 84 ]; ··· 89 (lib.cmakeBool "CLICK_MODE" false) 90 (lib.cmakeBool "INSTALL_TESTS" false) 91 (lib.cmakeBool "USE_XVFB" true) 92 ]; 93 94 doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+2 -13
pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix
··· 29 lomiri-settings-components, 30 lomiri-ui-toolkit, 31 maliit-keyboard, 32 pkg-config, 33 polkit, 34 python3, ··· 136 137 nativeCheckInputs = [ 138 dbus 139 (python3.withPackages (ps: with ps; [ python-dbusmock ])) 140 xvfb-run 141 ]; ··· 151 cmakeFlags = [ 152 (lib.cmakeBool "ENABLE_LIBDEVICEINFO" true) 153 (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) 154 - (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" ( 155 - lib.concatStringsSep ";" [ 156 - # Exclude tests 157 - "-E" 158 - (lib.strings.escapeShellArg "(${ 159 - lib.concatStringsSep "|" [ 160 - # Hits OpenGL context issue inside lomiri-ui-toolkit, see derivation of that on details 161 - "^testmouse" 162 - "^tst_notifications" 163 - ] 164 - })") 165 - ] 166 - )) 167 ]; 168 169 # The linking for this normally ignores missing symbols, which is inconvenient for figuring out why subpages may be
··· 29 lomiri-settings-components, 30 lomiri-ui-toolkit, 31 maliit-keyboard, 32 + mesa, 33 pkg-config, 34 polkit, 35 python3, ··· 137 138 nativeCheckInputs = [ 139 dbus 140 + mesa.llvmpipeHook # ShapeMaterial needs an OpenGL context: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/35 141 (python3.withPackages (ps: with ps; [ python-dbusmock ])) 142 xvfb-run 143 ]; ··· 153 cmakeFlags = [ 154 (lib.cmakeBool "ENABLE_LIBDEVICEINFO" true) 155 (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) 156 ]; 157 158 # The linking for this normally ignores missing symbols, which is inconvenient for figuring out why subpages may be
+2 -3
pkgs/desktops/lomiri/applications/morph-browser/default.nix
··· 12 lomiri-content-hub, 13 lomiri-ui-extras, 14 lomiri-ui-toolkit, 15 pkg-config, 16 qqc2-suru-style, 17 qtbase, ··· 90 ]; 91 92 nativeCheckInputs = [ 93 xvfb-run 94 ]; 95 ··· 102 lib.concatStringsSep "|" [ 103 # Don't care about linter failures 104 "^flake8" 105 - 106 - # Runs into ShapeMaterial codepath in lomiri-ui-toolkit which needs OpenGL, see LUITK for details 107 - "^tst_QmlTests" 108 ] 109 })") 110 ]
··· 12 lomiri-content-hub, 13 lomiri-ui-extras, 14 lomiri-ui-toolkit, 15 + mesa, 16 pkg-config, 17 qqc2-suru-style, 18 qtbase, ··· 91 ]; 92 93 nativeCheckInputs = [ 94 + mesa.llvmpipeHook # ShapeMaterial needs an OpenGL context: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/35 95 xvfb-run 96 ]; 97 ··· 104 lib.concatStringsSep "|" [ 105 # Don't care about linter failures 106 "^flake8" 107 ] 108 })") 109 ]
+2 -2
pkgs/desktops/lomiri/qml/lomiri-ui-extras/default.nix
··· 8 cups, 9 exiv2, 10 lomiri-ui-toolkit, 11 pam, 12 pkg-config, 13 qtbase, ··· 48 ]; 49 50 nativeCheckInputs = [ 51 qtdeclarative # qmltestrunner 52 xvfb-run 53 ]; ··· 66 "-E" 67 (lib.strings.escapeShellArg "(${ 68 lib.concatStringsSep "|" [ 69 - # tst_busy_indicator runs into a codepath in lomiri-ui-toolkit that expects a working GL context 70 - "^tst_busy_indicator" 71 # Photo & PhotoImageProvider Randomly fail, unsure why 72 "^tst_PhotoEditorPhoto" 73 ]
··· 8 cups, 9 exiv2, 10 lomiri-ui-toolkit, 11 + mesa, 12 pam, 13 pkg-config, 14 qtbase, ··· 49 ]; 50 51 nativeCheckInputs = [ 52 + mesa.llvmpipeHook # ShapeMaterial needs an OpenGL context: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/35 53 qtdeclarative # qmltestrunner 54 xvfb-run 55 ]; ··· 68 "-E" 69 (lib.strings.escapeShellArg "(${ 70 lib.concatStringsSep "|" [ 71 # Photo & PhotoImageProvider Randomly fail, unsure why 72 "^tst_PhotoEditorPhoto" 73 ]
-155
pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2001-Mark-problematic-tests.patch
··· 1 - From c71d5fed4ef1f0b6d56400cddf02d8ac438168c8 Mon Sep 17 00:00:00 2001 2 - From: OPNA2608 <opna2608@protonmail.com> 3 - Date: Wed, 17 Apr 2024 16:18:23 +0200 4 - Subject: [PATCH] Mark problematic tests 5 - 6 - - ShapeMaterial requires a Qt OpenGL context, doesn't work in our sandbox 7 - - SignalSpy on QML shaders compilers don't see changes 8 - - TypeError on some properties with Qt 5.15 9 - https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/9 10 - --- 11 - tests/checkresults.sh | 88 ++++++++++++++++++++++++++++++++++++++++--- 12 - 1 file changed, 82 insertions(+), 6 deletions(-) 13 - 14 - diff --git a/tests/checkresults.sh b/tests/checkresults.sh 15 - index fc498985e..b5d204d0d 100755 16 - --- a/tests/checkresults.sh 17 - +++ b/tests/checkresults.sh 18 - @@ -22,6 +22,7 @@ ERRORS_PATTERN='<failure' 19 - 20 - FAILURES=0 21 - FATAL_WARNINGS=0 22 - +EXCEPTED_FAILURES=0 23 - EXCEPTED=0 24 - for _XML in $*; do 25 - _TESTNAME=$(basename $_XML | sed -r 's@(.+)\.xml@\1@' -) 26 - @@ -31,7 +32,71 @@ for _XML in $*; do 27 - exit 1 28 - fi 29 - 30 - - EXCEPTIONS='components_benchmark \ 31 - + ERROR_EXCEPTIONS='\ 32 - + tst_actionbar.13.qml \ 33 - + tst_actionlist.13.qml \ 34 - + tst_adaptivepagelayout.13.qml \ 35 - + tst_adaptivepagelayout_configuration.13.qml \ 36 - + tst_combobutton.11.qml \ 37 - + tst_combobutton.13.qml \ 38 - + tst_contextual_actions.13.qml \ 39 - + tst_focus.13.qml \ 40 - + tst_header.13.qml \ 41 - + tst_hide_chrome.11.qml \ 42 - + tst_listitem.12.qml \ 43 - + tst_listitem.13.qml \ 44 - + tst_listitem_actions_breaks_selectmode.12.qml \ 45 - + tst_listitem_extras.13.qml \ 46 - + tst_listitem_focus.13.qml \ 47 - + tst_listitem_horizontal_navigation.13.qml \ 48 - + tst_listitem_selectmode.12.qml \ 49 - + tst_listitem_selectmode.13.qml \ 50 - + tst_listitems_itemselector.11.qml \ 51 - + tst_listitems_standard.11.qml \ 52 - + tst_listitems_standard.13.qml \ 53 - + tst_lomirilistview.11.qml \ 54 - + tst_lomiritestcase.qml \ 55 - + tst_multicolumnheader.13.qml \ 56 - + tst_optionselector.11.qml \ 57 - + tst_optionselector.13.qml \ 58 - + tst_page_with_header.13.qml \ 59 - + tst_pagehead_back_action.13.qml \ 60 - + tst_pagehead_contents_width.13.qml \ 61 - + tst_pagehead_sections.13.qml \ 62 - + tst_pagehead_visible.13.qml \ 63 - + tst_pageheader.13.qml \ 64 - + tst_pagestack.13.qml \ 65 - + tst_pagestack.DEPRECATED_APPHEADER_TABS.13.qml \ 66 - + tst_picker.11.qml \ 67 - + tst_picker.13.qml \ 68 - + tst_popover.12.qml \ 69 - + tst_popover.13.qml \ 70 - + tst_popups_dialog.13.qml \ 71 - + tst_popups_pagestack.13.qml \ 72 - + tst_pulltorefresh_pagestack_topmargin.13.qml \ 73 - + tst_slider.11.qml \ 74 - + tst_slider.13.qml \ 75 - + tst_switch_bug1510919.13.qml \ 76 - + tst_tabs.11.qml \ 77 - + tst_tabs.13.qml \ 78 - + tst_tabs.DEPRECATED_TOOLBAR.11.qml \ 79 - + tst_textarea.11.qml \ 80 - + tst_textarea_in_flickable.11.qml \ 81 - + tst_textfield.11.qml \ 82 - + tst_textinput_common.12.qml \ 83 - + tst_textinput_common.13.qml \ 84 - + tst_toggles.13.qml \ 85 - + inversemousearea \ 86 - + layouts \ 87 - + recreateview \ 88 - + subtheming \ 89 - + swipearea \ 90 - + tst_icon.11.qml \ 91 - + tst_icon.13.qml \ 92 - + ' 93 - + 94 - + EXCEPTIONS='\ 95 - + components_benchmark \ 96 - tst_tabbar.11.qml \ 97 - tst_datepicker.bug1567840.SEGFAULT.12.qml \ 98 - tst_datepicker.bug1567840.SEGFAULT.13.qml \ 99 - @@ -49,22 +114,28 @@ for _XML in $*; do 100 - inversemousearea \ 101 - tst_listitem_focus_bug.13.qml \ 102 - tst_shortcuts.13.qml \ 103 - + tst_pagestack.DEPRECATED_TOOLBAR.11.qml \ 104 - ' 105 - 106 - WARNINGS=$(grep -c -P "$WARNINGS_PATTERN" $_XML) 107 - ERRORS=$(grep -c -P "$ERRORS_PATTERN" $_XML) 108 - if [ $ERRORS -ne 0 ]; then 109 - - FAILURES_FILES="${FAILURES_FILES} ${_TESTNAME}\n" 110 - - ((FAILURES+=$ERRORS)) 111 - + if [[ " $ERROR_EXCEPTIONS " == *" $_TESTNAME "* ]]; then 112 - + EXCEPTED_FAILURES_FILES="${EXCEPTED_FAILURES_FILES} ${_TESTNAME}\n" 113 - + ((EXCEPTED_FAILURES+=$ERRORS)) 114 - + else 115 - + FAILURES_FILES="${FAILURES_FILES} ${_TESTNAME}\n" 116 - + ((FAILURES+=$ERRORS)) 117 - + fi 118 - elif [ $WARNINGS -ne 0 ]; then 119 - - if [[ $EXCEPTIONS == *$_TESTNAME* ]]; then 120 - + if [[ " $EXCEPTIONS " == *" $_TESTNAME "* ]]; then 121 - EXCEPTED_FILES="${EXCEPTED_FILES} ${_TESTNAME}\n" 122 - ((EXCEPTED+=$WARNINGS)) 123 - else 124 - FATAL_WARNINGS_FILES="${FATAL_WARNINGS_FILES} ${_TESTNAME}\n" 125 - ((FATAL_WARNINGS+=$WARNINGS)) 126 - fi 127 - - elif [[ $EXCEPTIONS == *$_TESTNAME* ]]; then 128 - + elif [[ " $ERROR_EXCEPTIONS " == *" $_TESTNAME "* || " $EXCEPTIONS " == *" $_TESTNAME "* ]]; then 129 - WOOT_FILES="${WOOT_FILES} ${_TESTNAME}\n" 130 - fi 131 - done 132 - @@ -82,6 +153,11 @@ if [ -n "$FATAL_WARNINGS_FILES" ]; then 133 - echo -e "$FATAL_WARNINGS_FILES" 134 - fi 135 - 136 - +if [ -n "$EXCEPTED_FAILURES_FILES" ]; then 137 - + echo The following tests issued $EXCEPTED_FAILURES expected failures: 138 - + echo -e "$EXCEPTED_FAILURES_FILES" 139 - +fi 140 - + 141 - if [ -n "$EXCEPTED_FILES" ]; then 142 - echo The following tests issued $EXCEPTED expected warnings: 143 - echo -e "$EXCEPTED_FILES" 144 - @@ -89,7 +165,7 @@ fi 145 - 146 - if [ -n "$WOOT_FILES" ]; then 147 - echo Woot! Known problematic tests passed! 148 - - echo Consider removing these from EXCEPTIONS in ${0#$(pwd)/}! 149 - + echo Consider removing these from ERROR_EXCEPTIONS/EXCEPTIONS in ${0#$(pwd)/}! 150 - echo -e "$WOOT_FILES" 151 - fi 152 - 153 - -- 154 - 2.42.0 155 -
···
+2 -2
pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix
··· 10 gdb, 11 glib, 12 lttng-ust, 13 perl, 14 pkg-config, 15 python3, ··· 60 ]; 61 62 patches = [ 63 - ./2001-Mark-problematic-tests.patch 64 - 65 (substituteAll { 66 src = ./2002-Nixpkgs-versioned-QML-path.patch.in; 67 name = "2002-Nixpkgs-versioned-QML-path.patch"; ··· 149 dbus-test-runner 150 dpkg # `dpkg-architecture -qDEB_HOST_ARCH` response decides how tests are run 151 gdb 152 xvfb-run 153 ]; 154
··· 10 gdb, 11 glib, 12 lttng-ust, 13 + mesa, 14 perl, 15 pkg-config, 16 python3, ··· 61 ]; 62 63 patches = [ 64 (substituteAll { 65 src = ./2002-Nixpkgs-versioned-QML-path.patch.in; 66 name = "2002-Nixpkgs-versioned-QML-path.patch"; ··· 148 dbus-test-runner 149 dpkg # `dpkg-architecture -qDEB_HOST_ARCH` response decides how tests are run 150 gdb 151 + mesa.llvmpipeHook # ShapeMaterial needs an OpenGL context: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/35 152 xvfb-run 153 ]; 154