~ruther/guix-local

a05c130435d559bcea8dd213294ae7e8159b1d51 — Maxim Cournoyer 1 year, 9 months ago 9ed847f
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
3 files changed, 43 insertions(+), 9 deletions(-)

M gnu/local.mk
M gnu/packages/jami.scm
A gnu/packages/patches/jami-enable-testing.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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	\

M gnu/packages/jami.scm => gnu/packages/jami.scm +16 -9
@@ 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

A gnu/packages/patches/jami-enable-testing.patch => gnu/packages/patches/jami-enable-testing.patch +26 -0
@@ 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}