gnu: jami: Work toward reinstating functional tests.

* gnu/packages/patches/jami-enable-testing.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/jami.scm (jami) [source]: Apply it.
[phases] <check>: Use 'ctest' to run tests.  Update comment explaining why the
QML test suite is disabled.

Change-Id: I5c9333a3b5064ecec9a2dd4fe13ae597d5354b7c
This commit is contained in:
Maxim Cournoyer 2024-05-29 00:44:23 -04:00
parent 9ed847f828
commit a05c130435
No known key found for this signature in database
GPG key ID: 1260E46482E63562
3 changed files with 43 additions and 9 deletions

View file

@ -1505,6 +1505,7 @@ dist_patch_DATA = \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/isync-openssl3-fix.patch \
%D%/packages/patches/itk-snap-alt-glibc-compat.patch \
%D%/packages/patches/jami-enable-testing.patch \
%D%/packages/patches/jami-libjami-headers-search.patch \
%D%/packages/patches/jami-qwindowkit.patch \
%D%/packages/patches/jami-skip-tests-requiring-internet.patch \

View file

@ -232,6 +232,7 @@ (define-public jami
(base32
"1wqi50n80khyngj48brc8wg3m6jq471h9gm62yxpj4f8z5j81ncd"))
(patches (search-patches
"jami-enable-testing.patch"
"jami-libjami-headers-search.patch"
"jami-qwindowkit.patch"
"jami-skip-tests-requiring-internet.patch"
@ -276,22 +277,28 @@ (define-public jami
;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1504).
(setenv "XDG_SESSION_TYPE" "x11")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(when tests?
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "QT_QUICK_BACKEND" "software")
;; The tests require a writable HOME.
(setenv "HOME" "/tmp")
(display "Running unit tests...\n")
(invoke "tests/unit_tests")
(let ((ctest-args
(list "-V" "--output-on-failure"
"-j" (if parallel-tests?
(number->string (parallel-job-count))
"1"))))
;; The qml_tests suite is not run, as it currently exits with
;; an unclear status of 1 (see:
;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1605).
;; (display "Running functional tests...\n")
;; (invoke "tests/qml_tests")
))))))
(display "Running unit tests...\n")
(apply invoke "ctest" "-R" "Unit_Tests" ctest-args)
;; The QML test suite is currently disabled as it segfaults
;; (see:
;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1631).
;; (display "Running functional tests...\n") (apply invoke
;; "ctest" "-R" "Qml_Tests" ctest-args)
)))))))
(native-inputs
(list googletest
pkg-config

View file

@ -0,0 +1,26 @@
Fix an issue where ctest wouldn't find the qml test files.
Upstream status: forwarded to jami@gnu.org
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e802357f..75cffda2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -884,5 +884,6 @@ qt_finalize_executable(${PROJECT_NAME})
# tests
if(BUILD_TESTING)
message("Add Jami tests")
+ enable_testing()
add_subdirectory(${TESTS_DIR})
endif()
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 37796e52..06008ccf 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.16)
-enable_testing(true)
+enable_testing()
set(QT_TESTING_MODULES
${QT_MODULES}