[Pkg-gnupg-commit] [gpgme] 21/53: qt: Disable tests that require a password for 2.0

Daniel Kahn Gillmor dkg at fifthhorseman.net
Mon Oct 24 19:26:49 UTC 2016


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch experimental
in repository gpgme.

commit 24779c9e2301bd17fd328d65b0383e1cbc944119
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Wed Oct 5 17:19:20 2016 +0200

    qt: Disable tests that require a password for 2.0
    
    * lang/qt/tests/t-encrypt.cpp: Disable tests that require
    a password for 2.0.
    
    --
    The passphrase_cb apparently does not work with 2.0 so we would
    need a fake pinentry to get this to work. We just disable the
    test instead as this is a rarely used feature and works with
    1.4 and 2.1.
---
 lang/qt/tests/t-encrypt.cpp | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/lang/qt/tests/t-encrypt.cpp b/lang/qt/tests/t-encrypt.cpp
index c3ce610..4d65dc7 100644
--- a/lang/qt/tests/t-encrypt.cpp
+++ b/lang/qt/tests/t-encrypt.cpp
@@ -53,6 +53,23 @@
 using namespace QGpgME;
 using namespace GpgME;
 
+static bool decryptSupported()
+{
+    /* With GnuPG 2.0.x (at least 2.0.26 by default on jessie)
+     * the passphrase_cb does not work. So the test popped up
+     * a pinentry. So tests requiring decryption don't work. */
+    static auto version = GpgME::engineInfo(GpgME::GpgEngine).engineVersion();
+    if (version < "2.0.0") {
+        /* With 1.4 it just works */
+        return true;
+    }
+    if (version < "2.1.0") {
+        /* With 2.1 it works with loopback mode */
+        return false;
+    }
+    return true;
+}
+
 class EncryptionTest : public QGpgMETest
 {
     Q_OBJECT
@@ -82,6 +99,9 @@ private Q_SLOTS:
         Q_ASSERT(cipherString.startsWith("-----BEGIN PGP MESSAGE-----"));
 
         /* Now decrypt */
+        if (!decryptSupported()) {
+            return;
+        }
         auto ctx = Context::createForProtocol(OpenPGP);
         TestPassphraseProvider provider;
         ctx->setPassphraseProvider(&provider);
@@ -150,6 +170,9 @@ private Q_SLOTS:
 
     void testSymmetricEncryptDecrypt()
     {
+        if (!decryptSupported()) {
+            return;
+        }
         auto ctx = Context::createForProtocol(OpenPGP);
         TestPassphraseProvider provider;
         ctx->setPassphraseProvider(&provider);
@@ -182,6 +205,9 @@ private:
      * So this test is disabled until gnupg(?) is fixed for this. */
     void testMixedEncryptDecrypt()
     {
+        if (!decryptSupported()) {
+            return;
+        }
         auto listjob = openpgp()->keyListJob(false, false, false);
         std::vector<Key> keys;
         auto keylistresult = listjob->exec(QStringList() << QStringLiteral("alfa at example.net"),

-- 
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