gpgme/tests/json/Makefile.am
Ingo Klöcker 7098c14b23
tests: Stop daemons after setting up test environment
* lang/python/tests/Makefile.am, lang/qt/tests/Makefile.am,
tests/gpg/Makefile.am, tests/json/Makefile.am (pubring-stamp): Call
`gpgconf --kill all` after importing test keys.
--

This ensures that no gpg-agents or other daemons are running after
"make".
2023-02-09 09:33:07 +01:00

112 lines
4.2 KiB
Makefile

# Copyright (C) 2018 Bundesamt für Sicherheit in der Informationstechnik
# Software engineering by 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 <https://gnu.org/licenses/>.
# SPDX-License-Identifier: LGPL-2.1-or-later
## Process this file with automake to produce Makefile.in
GPGME_JSON=$(abs_builddir)/../../src/gpgme-json
GPG = gpg
GNUPGHOME=$(abs_builddir)
TESTS_ENVIRONMENT = GNUPGHOME=$(GNUPGHOME) LC_ALL=C GPG_AGENT_INFO= \
top_srcdir=$(top_srcdir) gpgme_json=$(GPGME_JSON)
c_tests = t-json
TESTS = initial.test $(c_tests) final.test
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 \
gpg-sample.stamp tofu.db *.conf.gpgconf.bak
private_keys = \
$(top_srcdir)/tests/gpg/13CD0F3BDF24BE53FE192D62F18737256FF6E4FD \
$(top_srcdir)/tests/gpg/76F7E2B35832976B50A27A282D9B87E44577EB66 \
$(top_srcdir)/tests/gpg/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD \
$(top_srcdir)/tests/gpg/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F \
$(top_srcdir)/tests/gpg/7A030357C0F253A5BBCD282FFC4E521B37558F5C
EXTRA_DIST = initial.test final.test \
t-chunking.in.json t-chunking.out.json \
t-config.in.json t-config-opt.in.json \
t-config-opt.out.json t-config.out.json \
t-createkey.in.json t-createkey.out.json \
t-decrypt.in.json t-decrypt.out.json \
t-decrypt-verify.in.json t-decrypt-verify.out.json \
t-delete.in.json t-delete.out.json \
t-encrypt.in.json t-encrypt.out.json \
t-encrypt-sign.in.json t-encrypt-sign.out.json \
t-export.in.json t-export.out.json \
t-export-secret-info.in.json t-export-secret-info.out.json \
t-import.in.json t-import.out.json \
t-keylist.in.json t-keylist.out.json \
t-keylist-secret.in.json t-keylist-secret.out.json \
t-sign.in.json t-sign.out.json \
t-sig-notations.in.json t-sig-notations.out.json \
t-verify.in.json t-verify.out.json \
t-version.in.json t-version.out.json
BUILT_SOURCES = gpg.conf gpg-agent.conf pubring-stamp \
gpg-sample.stamp
t_json_SOURCES = t-json.c
AM_LDFLAGS = -no-install
LDADD = ../../src/libgpgme.la @LDADD_FOR_TESTS_KLUDGE@
t_json_LDADD = ../../src/cJSON.o -lm ../../src/libgpgme.la @GPG_ERROR_LIBS@ \
@LDADD_FOR_TESTS_KLUDGE@
AM_CPPFLAGS = -I$(top_builddir)/src @GPG_ERROR_CFLAGS@
noinst_PROGRAMS = $(c_tests)
clean-local:
-$(TESTS_ENVIRONMENT) $(top_srcdir)/tests/start-stop-agent --stop
-rm -fR private-keys-v1.d
-rm -fR openpgp-revocs.d
gpg-sample.stamp: $(private_keys)
-$(TESTS_ENVIRONMENT) gpgconf --kill all
$(MKDIR_P) ./private-keys-v1.d
for k in $(private_keys); do \
cp $$k private-keys-v1.d/$$(basename $$k).key; \
done
echo x > ./gpg-sample.stamp
pubring-stamp: $(top_srcdir)/tests/gpg/pubdemo.asc gpg-sample.stamp
$(TESTS_ENVIRONMENT) $(GPG) --batch --no-permission-warning \
--import $(top_srcdir)/tests/gpg/pubdemo.asc
-$(TESTS_ENVIRONMENT) $(GPG) --batch --no-permission-warning \
--import $(top_srcdir)/tests/gpg/secdemo.asc
-$(TESTS_ENVIRONMENT) gpgconf --kill all
echo x > ./pubring-stamp
gpg.conf:
# This is required for t-sig-notations.
echo no-force-v3-sigs > ./gpg.conf
gpg-agent.conf:
# This is required for gpg2, which does not support command fd for the
# passphrase. disable-scdaemon is required so that we don't try using
# a key from a smartcard reader (error might be: Unusable secret key)
echo pinentry-program $(abs_srcdir)/../gpg/pinentry > ./gpg-agent.conf
echo disable-scdaemon >> ./gpg-agent.conf
# end-of-file