Qt: Add a unit test for qgpgme
* configure.ac: Configure test Makefile. * m4/qt.m4: Look up Qt5Test flags. * lang/qt/tests/t-keylist.cpp: New. Simple keylist check. * lang/qt/tests/Makefile.am: New. General test framework. -- This test mostly checks that it basically compiles / works and adds a test framework.
This commit is contained in:
parent
b7b9e38399
commit
faf987dd62
@ -678,6 +678,7 @@ AC_CONFIG_FILES(lang/cpp/src/GpgmeppConfigVersion.cmake)
|
||||
AC_CONFIG_FILES(lang/qt/Makefile lang/qt/src/Makefile)
|
||||
AC_CONFIG_FILES(lang/qt/src/QGpgmeConfig.cmake.in)
|
||||
AC_CONFIG_FILES(lang/qt/src/QGpgmeConfigVersion.cmake)
|
||||
AC_CONFIG_FILES(lang/qt/tests/Makefile)
|
||||
AC_CONFIG_FILES([lang/Makefile lang/cl/Makefile lang/cl/gpgme.asd])
|
||||
AC_OUTPUT
|
||||
|
||||
|
@ -18,6 +18,6 @@
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA
|
||||
|
||||
SUBDIRS = src
|
||||
SUBDIRS = src tests
|
||||
|
||||
EXTRA_DIST = README
|
||||
|
66
lang/qt/tests/Makefile.am
Normal file
66
lang/qt/tests/Makefile.am
Normal file
@ -0,0 +1,66 @@
|
||||
# Makefile.am - Makefile for GPGME Qt tests.
|
||||
# Copyright (C) 2016 Intevation GmbH
|
||||
#
|
||||
# This file is part of GPGME.
|
||||
#
|
||||
# GPGME is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as
|
||||
# published by the Free Software Foundation; either version 2.1 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# GPGME 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 Lesser General
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
GPG = gpg
|
||||
|
||||
TESTS_ENVIRONMENT = GNUPGHOME=$(abs_builddir)
|
||||
|
||||
TESTS = t-keylist
|
||||
|
||||
moc_files = t-keylist.moc
|
||||
|
||||
AM_LDFLAGS = -no-install
|
||||
|
||||
LDADD = ../../cpp/src/libgpgmepp.la ../src/libqgpgme.la \
|
||||
../../../src/libgpgme.la @GPGME_QT_LIBS@ @GPG_ERROR_LIBS@ \
|
||||
@GPGME_QTTEST_LIBS@
|
||||
|
||||
AM_CPPFLAGS = -I$(top_builddir)/src @GPG_ERROR_CFLAGS@ \
|
||||
@GPGME_QT_CFLAGS@ @GPG_ERROR_CFLAGS@ @LIBASSUAN_CFLAGS@ \
|
||||
@GPGME_QTTEST_CFLAGS@ \
|
||||
-I$(top_srcdir)/lang/cpp/src -I$(top_srcdir)/lang/qt/src \
|
||||
-DTOP_SRCDIR="$(top_srcdir)"
|
||||
|
||||
check-local: ./t-keylist ./pubring-stamp
|
||||
|
||||
t_keylist_SOURCES = t-keylist.cpp t-keylist.h
|
||||
|
||||
nodist_t_keylist_SOURCES = $(moc_files)
|
||||
|
||||
BUILT_SOURCES = $(moc_files)
|
||||
|
||||
noinst_PROGRAMS = t-keylist
|
||||
|
||||
CLEANFILES = secring.gpg pubring.gpg pubring.kbx trustdb.gpg dirmngr.conf \
|
||||
gpg-agent.conf pubring.kbx~ S.gpg-agent gpg.conf pubring.gpg~ \
|
||||
random_seed S.gpg-agent .gpg-v21-migrated pubring-stamp $(moc_files)
|
||||
|
||||
export GNUPGHOME := $(abs_builddir)
|
||||
|
||||
./pubring-stamp: $(top_srcdir)/tests/gpg/pubdemo.asc \
|
||||
$(top_srcdir)/tests/gpg/secdemo.asc
|
||||
$(GPG) --no-permission-warning \
|
||||
--import $(top_srcdir)/tests/gpg/pubdemo.asc
|
||||
-$(GPG) --no-permission-warning \
|
||||
--import $(top_srcdir)/tests/gpg/secdemo.asc
|
||||
touch ./pubring-stamp
|
||||
|
||||
.cpp.moc:
|
||||
$(MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@
|
31
lang/qt/tests/t-keylist.cpp
Normal file
31
lang/qt/tests/t-keylist.cpp
Normal file
@ -0,0 +1,31 @@
|
||||
#include <QDebug>
|
||||
#include <QTest>
|
||||
#include "keylistjob.h"
|
||||
#include "qgpgmebackend.h"
|
||||
#include "keylistresult.h"
|
||||
|
||||
using namespace QGpgME;
|
||||
|
||||
class KeyListTest : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private Q_SLOTS:
|
||||
|
||||
void testSingleKeyListSync()
|
||||
{
|
||||
QGpgMEBackend backend;
|
||||
KeyListJob *job = backend.openpgp()->keyListJob(false, false, false);
|
||||
std::vector<GpgME::Key> keys;
|
||||
GpgME::KeyListResult result = job->exec(QStringList() << QStringLiteral("alfa@example.net"),
|
||||
false, keys);
|
||||
Q_ASSERT (!result.error());
|
||||
Q_ASSERT (keys.size() == 1);
|
||||
const QString kId = QLatin1String(keys.front().keyID());
|
||||
Q_ASSERT (kId == QStringLiteral("2D727CC768697734"));
|
||||
}
|
||||
};
|
||||
|
||||
QTEST_MAIN(KeyListTest)
|
||||
|
||||
#include "t-keylist.moc"
|
5
m4/qt.m4
5
m4/qt.m4
@ -18,6 +18,11 @@ AC_DEFUN([FIND_QT],
|
||||
[have_qt5_libs="yes"],
|
||||
[have_qt5_libs="no"])
|
||||
|
||||
PKG_CHECK_MODULES(GPGME_QTTEST,
|
||||
Qt5Test >= 5.0.0,
|
||||
[have_qt5test_libs="yes"],
|
||||
[have_qt5test_libs="no"])
|
||||
|
||||
if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q "reduce_relocations"; then
|
||||
GPGME_QT_CFLAGS="$GPGME_QT_CFLAGS -fpic"
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user