aboutsummaryrefslogtreecommitdiffstats
path: root/lang/qt/tests/t-support.cpp
diff options
context:
space:
mode:
authorAndre Heinecke <[email protected]>2016-08-09 12:10:15 +0000
committerAndre Heinecke <[email protected]>2016-08-09 12:23:51 +0000
commitf209ec8f581ae597b37f2e3a5e452e4b53b2d4c7 (patch)
tree810a34c62c736aa302cb4e955086d96bf7276b0e /lang/qt/tests/t-support.cpp
parentQt: Add support for EncryptJobs with generic flags (diff)
downloadgpgme-f209ec8f581ae597b37f2e3a5e452e4b53b2d4c7.tar.gz
gpgme-f209ec8f581ae597b37f2e3a5e452e4b53b2d4c7.zip
Qt: Add encryption test and refactor testsuite
* lang/qt/tests/Makefile.am: Add t-encrypt and t-support. * lang/qt/tests/t-support.cpp, lang/qt/tests/t-support.c (QGpgMETest): New. Class to handle common cleanup / init. * lang/qt/tests/t-keylist.cpp, lang/qt/tests/t-keylocate.cpp, lang/qt/tests/t-ownertrust.cpp, lang/qt/tests/t-tofuinfo.cpp: Inherit QGpgMETest. * lang/qt/tests/t-encrypt.cpp: New. Test Symetric and Asymectric encryption. Mixed encryption test is disabled.
Diffstat (limited to 'lang/qt/tests/t-support.cpp')
-rw-r--r--lang/qt/tests/t-support.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/lang/qt/tests/t-support.cpp b/lang/qt/tests/t-support.cpp
new file mode 100644
index 00000000..202a2510
--- /dev/null
+++ b/lang/qt/tests/t-support.cpp
@@ -0,0 +1,63 @@
+/* t-support.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 "t-support.h"
+
+#include <QTest>
+
+void QGpgMETest::initTestCase()
+{
+ const QString gpgHome = qgetenv("GNUPGHOME");
+ QVERIFY2(!gpgHome.isEmpty(), "GNUPGHOME environment variable is not set.");
+}
+
+void QGpgMETest::cleanupTestCase()
+{
+ QCoreApplication::sendPostedEvents();
+ killAgent();
+ printf("Killed agent\n");
+}
+#include <QDebug>
+void killAgent(const QString& dir)
+{
+ QProcess proc;
+ proc.setProgram(QStringLiteral("gpg-connect-agent"));
+ QStringList arguments;
+ arguments << "-S " << dir + "/S.gpg-agent";
+ proc.start();
+ proc.waitForStarted();
+ proc.write("KILLAGENT\n");
+ proc.write("BYE\n");
+ proc.closeWriteChannel();
+ proc.waitForFinished();
+}
+
+#include "t-support.hmoc"