From def45c82b36ec393fbaf16d9873db23bc9659b80 Mon Sep 17 00:00:00 2001 From: Sune Vuorela Date: Mon, 5 Jun 2023 12:36:44 +0200 Subject: [PATCH] Don't fail signature basics tests if backend is not configured --- qt5/tests/check_signature_basics.cpp | 22 +++++++++++++++++----- qt6/tests/check_signature_basics.cpp | 22 +++++++++++++++++----- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/qt5/tests/check_signature_basics.cpp b/qt5/tests/check_signature_basics.cpp index 94aad2f69..635e04c99 100644 --- a/qt5/tests/check_signature_basics.cpp +++ b/qt5/tests/check_signature_basics.cpp @@ -58,11 +58,23 @@ void TestSignatureBasics::initTestCase_data() { QTest::addColumn("backend"); -#ifdef ENABLE_NSS3 - QTest::newRow("nss") << CryptoSign::Backend::Type::NSS3; -#endif -#ifdef ENABLE_GPGME - QTest::newRow("gpg") << CryptoSign::Backend::Type::GPGME; +#ifdef ENABLE_SIGNATURES + const auto availableBackends = CryptoSign::Factory::getAvailable(); + +# ifdef ENABLE_NSS3 + if (std::find(availableBackends.begin(), availableBackends.end(), CryptoSign::Backend::Type::NSS3) != availableBackends.end()) { + QTest::newRow("nss") << CryptoSign::Backend::Type::NSS3; + } else { + QWARN("Compiled with NSS3, but NSS not functional"); + } +# endif +# ifdef ENABLE_GPGME + if (std::find(availableBackends.begin(), availableBackends.end(), CryptoSign::Backend::Type::GPGME) != availableBackends.end()) { + QTest::newRow("gpg") << CryptoSign::Backend::Type::GPGME; + } else { + QWARN("Compiled with GPGME, but GPGME not functional"); + } +# endif #endif } diff --git a/qt6/tests/check_signature_basics.cpp b/qt6/tests/check_signature_basics.cpp index 25589e93c..9a9955c28 100644 --- a/qt6/tests/check_signature_basics.cpp +++ b/qt6/tests/check_signature_basics.cpp @@ -56,11 +56,23 @@ void TestSignatureBasics::initTestCase_data() { QTest::addColumn("backend"); -#ifdef ENABLE_NSS3 - QTest::newRow("nss") << CryptoSign::Backend::Type::NSS3; -#endif -#ifdef ENABLE_GPGME - QTest::newRow("gpg") << CryptoSign::Backend::Type::GPGME; +#ifdef ENABLE_SIGNATURES + const auto availableBackends = CryptoSign::Factory::getAvailable(); + +# ifdef ENABLE_NSS3 + if (std::find(availableBackends.begin(), availableBackends.end(), CryptoSign::Backend::Type::NSS3) != availableBackends.end()) { + QTest::newRow("nss") << CryptoSign::Backend::Type::NSS3; + } else { + QWARN("Compiled with NSS3, but NSS not functional"); + } +# endif +# ifdef ENABLE_GPGME + if (std::find(availableBackends.begin(), availableBackends.end(), CryptoSign::Backend::Type::GPGME) != availableBackends.end()) { + QTest::newRow("gpg") << CryptoSign::Backend::Type::GPGME; + } else { + QWARN("Compiled with GPGME, but GPGME not functional"); + } +# endif #endif } -- GitLab