diff options
| author | Andre Heinecke <[email protected]> | 2017-03-30 12:36:49 +0000 | 
|---|---|---|
| committer | Andre Heinecke <[email protected]> | 2017-03-30 12:44:42 +0000 | 
| commit | 2c063a8d60418ee59ae80da221420c6f3fa19abb (patch) | |
| tree | 367c40aa6650ccfa357b35ae97ed7917afcfc779 | |
| parent | python,build: Reinstate prepare target. (diff) | |
| download | gpgme-2c063a8d60418ee59ae80da221420c6f3fa19abb.tar.gz gpgme-2c063a8d60418ee59ae80da221420c6f3fa19abb.zip | |
qt: Handle if gpg does not support tofu in test
* lang/qt/src/t-tofuinfo.cpp (TestTofuInfo::testSupported): Treat
it as unsupported if secret keylisting already fails.
--
The likely cause of this is that the agent can't be started
because the trust model is unsupported. Other tests check
that keylisting actually works.
Diffstat (limited to '')
| -rw-r--r-- | lang/qt/tests/t-tofuinfo.cpp | 23 | 
1 files changed, 22 insertions, 1 deletions
| diff --git a/lang/qt/tests/t-tofuinfo.cpp b/lang/qt/tests/t-tofuinfo.cpp index e16b1fde..8d040bc3 100644 --- a/lang/qt/tests/t-tofuinfo.cpp +++ b/lang/qt/tests/t-tofuinfo.cpp @@ -118,7 +118,24 @@ Q_SIGNALS:  private:      bool testSupported()      { -        return !(GpgME::engineInfo(GpgME::GpgEngine).engineVersion() < "2.1.16"); +        static bool initialized, supported; +        if (initialized) { +            return supported; +        } +        initialized = true; +        if (GpgME::engineInfo(GpgME::GpgEngine).engineVersion() < "2.1.16") { +            return false; +        } +        // If the keylist fails here this means that gnupg does not +        // support tofu at all. It can be disabled at compile time. So no +        // tests. +        auto *job = openpgp()->keyListJob(false, false, false); +        job->addMode(GpgME::WithTofu); +        std::vector<GpgME::Key> keys; +        job->exec(QStringList() << QStringLiteral("[email protected]"), true, keys); +        delete job; +        supported = !keys.empty(); +        return supported;      }      void testTofuCopy(TofuInfo other, const TofuInfo &orig) @@ -402,6 +419,10 @@ private Q_SLOTS:      void testTofuConflict()      { +        if (!testSupported()) { +            return; +        } +          if (GpgME::engineInfo(GpgME::GpgEngine).engineVersion() < "2.1.19") {              return;          } | 
