[git] GPGME - branch, master, updated. gpgme-1.6.0-121-geaf2d01

by Andre Heinecke cvs at cvs.gnupg.org
Fri May 20 16:08:28 CEST 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GnuPG Made Easy".

The branch, master has been updated
       via  eaf2d018e63c15cd9a81e5c1fd2fedbf8829f7b9 (commit)
       via  5df858cbf196b2a53d600b7f45655f7b35c1fe93 (commit)
      from  88f2c1c0d16eee6bb36a901623ea65ac69499f03 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit eaf2d018e63c15cd9a81e5c1fd2fedbf8829f7b9
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Fri May 20 16:04:50 2016 +0200

    Qt: Add test for changeownertrust
    
    * lang/qt/tests/t-ownertrust.cpp: New test.
    * lang/qt/tests/Makefile.am: Add test.
    
    --
    This test would have catched the issue created by not handling
    GPGME_STATUS_KEY_CONSIDERED.

diff --git a/lang/qt/tests/Makefile.am b/lang/qt/tests/Makefile.am
index 7658a73..db40e77 100644
--- a/lang/qt/tests/Makefile.am
+++ b/lang/qt/tests/Makefile.am
@@ -24,9 +24,9 @@ TESTS_ENVIRONMENT = GNUPGHOME=$(abs_builddir)
 
 EXTRA_DIST = initial.test
 
-TESTS = initial.test t-keylist t-keylocate
+TESTS = initial.test t-keylist t-keylocate t-ownertrust
 
-moc_files = t-keylist.moc t-keylocate.moc
+moc_files = t-keylist.moc t-keylocate.moc t-ownertrust.moc
 
 AM_LDFLAGS = -no-install
 
@@ -48,12 +48,13 @@ initial.test : check-local
 
 t_keylist_SOURCES = t-keylist.cpp
 t_keylocate_SOURCES = t-keylocate.cpp
+t_ownertrust_SOURCES = t-ownertrust.cpp
 
 nodist_t_keylist_SOURCES = $(moc_files)
 
 BUILT_SOURCES = $(moc_files)
 
-noinst_PROGRAMS = t-keylist t-keylocate
+noinst_PROGRAMS = t-keylist t-keylocate t-ownertrust
 
 CLEANFILES = secring.gpg pubring.gpg pubring.kbx trustdb.gpg dirmngr.conf \
 	gpg-agent.conf pubring.kbx~ S.gpg-agent gpg.conf pubring.gpg~ \
diff --git a/lang/qt/tests/t-ownertrust.cpp b/lang/qt/tests/t-ownertrust.cpp
new file mode 100644
index 0000000..d4385bf
--- /dev/null
+++ b/lang/qt/tests/t-ownertrust.cpp
@@ -0,0 +1,105 @@
+/* t-ownertrust.cpp
+
+    This file is part of qgpgme, the Qt API binding for gpgme
+    Copyright (c) 2016 Intevation GmbH
+
+    QGpgME is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License as
+    published by the Free Software Foundation; either version 2 of the
+    License, or (at your option) any later version.
+
+    QGpgME is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+    In addition, as a special exception, the copyright holders give
+    permission to link the code of this program with any edition of
+    the Qt library by Trolltech AS, Norway (or with modified versions
+    of Qt that use the same license as Qt), and distribute linked
+    combinations including the two.  You must obey the GNU General
+    Public License in all respects for all of the code used other than
+    Qt.  If you modify this file, you may extend this exception to
+    your version of the file, but you are not obligated to do so.  If
+    you do not wish to do so, delete this exception statement from
+    your version.
+*/
+
+#include <QDebug>
+#include <QTest>
+#include <QSignalSpy>
+#include "keylistjob.h"
+#include "protocol.h"
+#include "keylistresult.h"
+#include "changeownertrustjob.h"
+
+using namespace QGpgME;
+using namespace GpgME;
+
+class ChangeOwnerTrustTest: public QObject
+{
+    Q_OBJECT
+
+Q_SIGNALS:
+    void asyncDone();
+
+private Q_SLOTS:
+
+    void testChangeOwnerTrust()
+    {
+        KeyListJob *job = openpgp()->keyListJob(false, true, true);
+        std::vector<GpgME::Key> keys;
+        GpgME::KeyListResult result = job->exec(QStringList() << QStringLiteral("alfa at example.net"),
+                                                false, keys);
+        Q_ASSERT (!result.error());
+        Q_ASSERT (keys.size() == 1);
+        Key key = keys.front();
+        qDebug() << "Trust is: " << key.ownerTrust();
+        Q_ASSERT (key.ownerTrust() == Key::Unknown);
+
+        ChangeOwnerTrustJob *job2 = openpgp()->changeOwnerTrustJob();
+        connect(job2, &ChangeOwnerTrustJob::result, this, [this](Error e)
+        {
+            Q_ASSERT(!e);
+            Q_EMIT asyncDone();
+        });
+        job2->start(key, Key::Ultimate);
+        QSignalSpy spy (this, &ChangeOwnerTrustTest::asyncDone);
+        Q_ASSERT(spy.wait());
+
+        job = openpgp()->keyListJob(false, true, true);
+        result = job->exec(QStringList() << QStringLiteral("alfa at example.net"),
+                           false, keys);
+        key = keys.front();
+        Q_ASSERT (key.ownerTrust() == Key::Ultimate);
+
+        ChangeOwnerTrustJob *job3 = openpgp()->changeOwnerTrustJob();
+        connect(job3, &ChangeOwnerTrustJob::result, this, [this](Error e)
+        {
+            Q_ASSERT(!e);
+            Q_EMIT asyncDone();
+        });
+        job3->start(key, Key::Unknown);
+        Q_ASSERT(spy.wait());
+
+        job = openpgp()->keyListJob(false, true, true);
+        result = job->exec(QStringList() << QStringLiteral("alfa at example.net"),
+                           false, keys);
+        key = keys.front();
+        Q_ASSERT (key.ownerTrust() == Key::Unknown);
+    }
+
+    void initTestCase()
+    {
+        const QString gpgHome = qgetenv("GNUPGHOME");
+        QVERIFY2(!gpgHome.isEmpty(), "GNUPGHOME environment variable is not set.");
+    }
+};
+
+QTEST_MAIN(ChangeOwnerTrustTest)
+
+#include "t-ownertrust.moc"

commit 5df858cbf196b2a53d600b7f45655f7b35c1fe93
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Fri May 20 16:03:08 2016 +0200

    Cpp: Ignore STATUS_KEY_CONSIDERED when editing
    
    * lang/cpp/src/editinteractor.cpp (EditInteractor::needsNoResponse):
    Handle GPGME_STATUS_KEY_CONSIDERED.

diff --git a/lang/cpp/src/editinteractor.cpp b/lang/cpp/src/editinteractor.cpp
index c05ccd6..fb68bcb 100644
--- a/lang/cpp/src/editinteractor.cpp
+++ b/lang/cpp/src/editinteractor.cpp
@@ -211,6 +211,7 @@ bool EditInteractor::needsNoResponse(unsigned int status) const
     case GPGME_STATUS_SIGEXPIRED:
     case GPGME_STATUS_KEYEXPIRED:
     case GPGME_STATUS_PINENTRY_LAUNCHED:
+    case GPGME_STATUS_KEY_CONSIDERED:
         return true;
     default:
         return false;

-----------------------------------------------------------------------

Summary of changes:
 lang/cpp/src/editinteractor.cpp                   |  1 +
 lang/qt/tests/Makefile.am                         |  7 +--
 lang/qt/tests/{t-keylist.cpp => t-ownertrust.cpp} | 54 ++++++++++++++++-------
 3 files changed, 42 insertions(+), 20 deletions(-)
 copy lang/qt/tests/{t-keylist.cpp => t-ownertrust.cpp} (59%)


hooks/post-receive
-- 
GnuPG Made Easy
http://git.gnupg.org




More information about the Gnupg-commits mailing list