aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-05-29 00:44:23 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-05-29 21:15:39 -0400
commita05c130435d559bcea8dd213294ae7e8159b1d51 (patch)
tree9b78d7f6641915fe1772af0653931a86dc322949
parent9ed847f8289b4a6f1855c0aa0cba9c94e09a9dc8 (diff)
downloadguix-a05c130435d559bcea8dd213294ae7e8159b1d51.tar.gz
guix-a05c130435d559bcea8dd213294ae7e8159b1d51.zip
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
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/jami.scm25
-rw-r--r--gnu/packages/patches/jami-enable-testing.patch26
3 files changed, 43 insertions, 9 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index e9e0f184f4..89592f832f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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 \
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index cb5995cc14..6f42b1ef67 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -232,6 +232,7 @@ QSortFilterProxyModel conveniently exposed for QML.")
(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 @@ QSortFilterProxyModel conveniently exposed for QML.")
;; 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
diff --git a/gnu/packages/patches/jami-enable-testing.patch b/gnu/packages/patches/jami-enable-testing.patch
new file mode 100644
index 0000000000..3e27a8def9
--- /dev/null
+++ b/gnu/packages/patches/jami-enable-testing.patch
@@ -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}