summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/jami-fix-unit-tests-build.patch
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-07 21:32:19 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-12 00:39:35 -0500
commit008f3a28c6ca6f689f00f11af1f195f14625a51a (patch)
tree3b773b9c9f923b49563e72f6b6d28a91ba07c32c /gnu/packages/patches/jami-fix-unit-tests-build.patch
parentd7d09a277376744a17500ad62f6ba5580a53c878 (diff)
gnu: jami: Enable unit tests.
* gnu/packages/patches/jami-fix-qml-imports.patch: New file. * gnu/packages/patches/jami-fix-unit-tests-build.patch: Likewise. * gnu/packages/patches/jami-libjami-headers-search.patch: Likewise. * gnu/packages/patches/jami-sip-unregister.patch: Likewise. * gnu/packages/patches/jami-xcb-link.patch: Likewise. * gnu/local.mk: Register them. * gnu/packages/jami.scm (%jami-sources): Apply new patches. (jami) [tests?]: Delete argument to run tests. [configure-flags]: Remove TESTS? argument. Enable tests with -DENABLE_TESTS=ON. Remove -DLIBJAMI_INCLUDE_DIR. [phases] {check}: New phase override. [native-inputs]: Add settings-desktop-schemas. [inputs]: Add glib and libxcb.
Diffstat (limited to 'gnu/packages/patches/jami-fix-unit-tests-build.patch')
-rw-r--r--gnu/packages/patches/jami-fix-unit-tests-build.patch139
1 files changed, 139 insertions, 0 deletions
diff --git a/gnu/packages/patches/jami-fix-unit-tests-build.patch b/gnu/packages/patches/jami-fix-unit-tests-build.patch
new file mode 100644
index 0000000000..0216a4bd67
--- /dev/null
+++ b/gnu/packages/patches/jami-fix-unit-tests-build.patch
@@ -0,0 +1,139 @@
+From 82ecd786a29344d57e6dd95ef0800bef9dd44542 Mon Sep 17 00:00:00 2001
+From: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
+Date: Sun, 6 Nov 2022 00:16:34 -0400
+Subject: [PATCH 3/3] tests: Fix various compilation failures.
+
+Fixes <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/882>.
+
+* tests/CMakeLists.txt: Add "Widgets" Qt module to find_package call.
+(QML_TEST_LIBS): Add Qt::Widgets.
+* tests/CMakeLists.txt: Rename QML_LIBS to QT_LIBS, a regression
+introduced in d82e3820706214d15d7cb7462978b7a43b798355. Remove the
+dependency on on the Widgets module, now provided via QT_LIBS.
+* tests/qml/main.cpp [WITH_WEBENGINE]: Include QtWebEngine modules
+conditionally.
+(main) [WITH_WEBENGINE]: Initialize webengine conditionally.
+* tests/CMakeLists.txt: Link test objects with ${LIBCLIENT_NAME}.
+* src/app/qmlregister.h (registerTypes): Change parent type from
+MainApplication* to QObject*
+* src/app/qmlregister.cpp (registerTypes): Likewise.
+* tests/unittests/account_unittest.cpp (globalEnv): Remove variable.
+* tests/unittests/contact_unittest.cpp: Likewise.
+---
+Upstream status: https://review.jami.net/c/jami-client-qt/+/22984/1
+
+ src/app/qmlregister.cpp | 2 +-
+ src/app/qmlregister.h | 2 +-
+ tests/CMakeLists.txt | 6 +++---
+ tests/qml/main.cpp | 7 ++++---
+ tests/unittests/account_unittest.cpp | 2 --
+ tests/unittests/contact_unittest.cpp | 2 --
+ 6 files changed, 9 insertions(+), 12 deletions(-)
+
+diff --git a/client-qt/client-qt/src/app/qmlregister.cpp b/client-qt/src/app/qmlregister.cpp
+index 285f7814..67222eb5 100644
+--- a/client-qt/client-qt/src/app/qmlregister.cpp
++++ b/client-qt/src/app/qmlregister.cpp
+@@ -105,7 +105,7 @@ registerTypes(QQmlEngine* engine,
+ AppSettingsManager* settingsManager,
+ PreviewEngine* previewEngine,
+ ScreenInfo* screenInfo,
+- MainApplication* parent)
++ QObject* parent)
+ {
+ // setup the adapters (their lifetimes are that of MainApplication)
+ auto callAdapter = new CallAdapter(systemTray, lrcInstance, parent);
+diff --git a/client-qt/client-qt/src/app/qmlregister.h b/client-qt/src/app/qmlregister.h
+index 38bfd091..aac0a887 100644
+--- a/client-qt/client-qt/src/app/qmlregister.h
++++ b/client-qt/src/app/qmlregister.h
+@@ -67,5 +67,5 @@ void registerTypes(QQmlEngine* engine,
+ AppSettingsManager* appSettingsManager,
+ PreviewEngine* previewEngine,
+ ScreenInfo* screenInfo,
+- MainApplication* parent);
++ QObject* parent);
+ }
+diff --git a/client-qt/client-qt/tests/CMakeLists.txt b/client-qt/tests/CMakeLists.txt
+index 8904d5ec..4e42b307 100644
+--- a/client-qt/client-qt/tests/CMakeLists.txt
++++ b/client-qt/tests/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-find_package(Qt${QT_VERSION_MAJOR} CONFIG REQUIRED QuickTest Test)
++find_package(Qt${QT_VERSION_MAJOR} CONFIG REQUIRED QuickTest Test Widgets)
+
+ if(MSVC)
+ # Download and unpack googletest for windows
+@@ -15,7 +15,7 @@ else()
+ endif()
+
+ enable_testing(true)
+-set(QML_TEST_LIBS ${QML_LIBS} Qt::QuickTest Qt::Test)
++set(QML_TEST_LIBS ${QT_LIBS} ${LIBCLIENT_NAME} Qt::QuickTest Qt::Test Qt::Widgets)
+ set(TESTS_INCLUDES
+ ${CMAKE_SOURCE_DIR}/src
+ ${CMAKE_SOURCE_DIR}/tests/qml
+@@ -192,4 +192,4 @@ else()
+ ${LRC}/include)
+
+ add_test(NAME UnitTests COMMAND unittests)
+-endif()
+\ No newline at end of file
++endif()
+diff --git a/client-qt/client-qt/tests/qml/main.cpp b/client-qt/tests/qml/main.cpp
+index 09c02f3e..4c42027c 100644
+--- a/client-qt/client-qt/tests/qml/main.cpp
++++ b/client-qt/tests/qml/main.cpp
+@@ -31,9 +31,10 @@
+ #include <QQmlEngine>
+ #include <QQmlContext>
+ #include <QFontDatabase>
++#ifdef WITH_WEBENGINE
+ #include <QtWebEngineCore>
+ #include <QtWebEngineQuick>
+-
++#endif
+ #ifdef Q_OS_WIN
+ #include <windows.h>
+ #endif
+@@ -155,9 +156,9 @@ main(int argc, char** argv)
+ // Adjust the argument count.
+ argc = std::distance(argv, end);
+ }
+-
++#ifdef WITH_WEBENGINE
+ QtWebEngineQuick::initialize();
+-
++#endif
+ QTEST_SET_MAIN_SOURCE_PATH
+ Setup setup(muteDring);
+ return quick_test_main_with_setup(argc, argv, "qml_test", nullptr, &setup);
+diff --git a/client-qt/client-qt/tests/unittests/account_unittest.cpp b/client-qt/tests/unittests/account_unittest.cpp
+index aa98453e..5af2ad6e 100644
+--- a/client-qt/client-qt/tests/unittests/account_unittest.cpp
++++ b/client-qt/tests/unittests/account_unittest.cpp
+@@ -19,8 +19,6 @@
+
+ #include "globaltestenvironment.h"
+
+-TestEnvironment globalEnv;
+-
+ /*!
+ * Test fixture for AccountAdapter testing
+ */
+diff --git a/client-qt/client-qt/tests/unittests/contact_unittest.cpp b/client-qt/tests/unittests/contact_unittest.cpp
+index af8a9a22..b05cc856 100644
+--- a/client-qt/client-qt/tests/unittests/contact_unittest.cpp
++++ b/client-qt/tests/unittests/contact_unittest.cpp
+@@ -18,8 +18,6 @@
+
+ #include "globaltestenvironment.h"
+
+-TestEnvironment globalEnv;
+-
+ /*!
+ * Test fixture for AccountAdapter testing
+ */
+--
+2.37.3
+