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/Makefile lang/qt/src/Makefile)
|
||||||
AC_CONFIG_FILES(lang/qt/src/QGpgmeConfig.cmake.in)
|
AC_CONFIG_FILES(lang/qt/src/QGpgmeConfig.cmake.in)
|
||||||
AC_CONFIG_FILES(lang/qt/src/QGpgmeConfigVersion.cmake)
|
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_CONFIG_FILES([lang/Makefile lang/cl/Makefile lang/cl/gpgme.asd])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
|
@ -18,6 +18,6 @@
|
|||||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
# 02111-1307, USA
|
# 02111-1307, USA
|
||||||
|
|
||||||
SUBDIRS = src
|
SUBDIRS = src tests
|
||||||
|
|
||||||
EXTRA_DIST = README
|
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="yes"],
|
||||||
[have_qt5_libs="no"])
|
[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
|
if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q "reduce_relocations"; then
|
||||||
GPGME_QT_CFLAGS="$GPGME_QT_CFLAGS -fpic"
|
GPGME_QT_CFLAGS="$GPGME_QT_CFLAGS -fpic"
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user