[Pkg-gnupg-commit] [gpgme] 07/103: qt: Handle if gpg does not support tofu in test
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Thu Dec 14 18:52:58 UTC 2017
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch master
in repository gpgme.
commit 2c063a8d60418ee59ae80da221420c6f3fa19abb
Author: Andre Heinecke <aheinecke at intevation.de>
Date: Thu Mar 30 14:36:49 2017 +0200
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.
---
lang/qt/tests/t-tofuinfo.cpp | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/lang/qt/tests/t-tofuinfo.cpp b/lang/qt/tests/t-tofuinfo.cpp
index e16b1fd..8d040bc 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("zulu at example.net"), 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;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gpgme.git
More information about the Pkg-gnupg-commit
mailing list