Blame lang/python/tests/Makefile.am

Packit d7e8d0
# Makefile.am for the tests of the Python bindings.
Packit d7e8d0
# Copyright (C) 2016 g10 Code GmbH
Packit d7e8d0
#
Packit d7e8d0
# This file is part of GPGME.
Packit d7e8d0
#
Packit d7e8d0
# GPGME is free software; you can redistribute it and/or modify it
Packit d7e8d0
# under the terms of the GNU General Public License as published by
Packit d7e8d0
# the Free Software Foundation; either version 2 of the License, or
Packit d7e8d0
# (at your option) any later version.
Packit d7e8d0
#
Packit d7e8d0
# GPGME is distributed in the hope that it will be useful, but WITHOUT
Packit d7e8d0
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
Packit d7e8d0
# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
Packit d7e8d0
# Public License for more details.
Packit d7e8d0
#
Packit d7e8d0
# You should have received a copy of the GNU Lesser General Public
Packit d7e8d0
# License along with this program; if not, see <http://www.gnu.org/licenses/>.
Packit d7e8d0
Packit d7e8d0
GPG = gpg
Packit d7e8d0
GPG_AGENT = gpg-agent
Packit d7e8d0
export GNUPGHOME := $(abs_builddir)
Packit d7e8d0
export GPG_AGENT_INFO :=
Packit d7e8d0
Packit d7e8d0
test_srcdir = $(top_srcdir)/tests/gpg
Packit d7e8d0
Packit d7e8d0
TESTS_ENVIRONMENT = GNUPGHOME=$(abs_builddir) \
Packit d7e8d0
	LC_ALL=C GPG_AGENT_INFO= \
Packit d7e8d0
	top_srcdir=$(top_srcdir) \
Packit d7e8d0
	srcdir=$(srcdir) \
Packit d7e8d0
	LD_LIBRARY_PATH="../../../src/.libs:$(LD_LIBRARY_PATH)"
Packit d7e8d0
Packit d7e8d0
py_tests = t-wrapper.py \
Packit d7e8d0
	t-callbacks.py \
Packit d7e8d0
	t-data.py \
Packit d7e8d0
	t-encrypt.py \
Packit d7e8d0
	t-encrypt-sym.py \
Packit d7e8d0
	t-encrypt-sign.py \
Packit d7e8d0
	t-sign.py \
Packit d7e8d0
	t-signers.py \
Packit d7e8d0
	t-decrypt.py \
Packit d7e8d0
	t-verify.py \
Packit d7e8d0
	t-decrypt-verify.py \
Packit d7e8d0
	t-sig-notation.py \
Packit d7e8d0
	t-export.py \
Packit d7e8d0
	t-import.py \
Packit d7e8d0
	t-trustlist.py \
Packit d7e8d0
	t-edit.py \
Packit d7e8d0
	t-keylist.py \
Packit d7e8d0
	t-keylist-from-data.py \
Packit d7e8d0
	t-wait.py \
Packit d7e8d0
	t-encrypt-large.py \
Packit d7e8d0
	t-file-name.py \
Packit d7e8d0
	t-idiomatic.py \
Packit d7e8d0
	t-protocol-assuan.py \
Packit d7e8d0
	t-quick-key-creation.py \
Packit d7e8d0
	t-quick-subkey-creation.py \
Packit d7e8d0
	t-quick-key-manipulation.py \
Packit d7e8d0
	t-quick-key-signing.py
Packit d7e8d0
Packit d7e8d0
XTESTS = initial.py $(py_tests) final.py
Packit d7e8d0
EXTRA_DIST = support.py $(XTESTS) encrypt-only.asc sign-only.asc \
Packit d7e8d0
             run-tests.py
Packit d7e8d0
Packit d7e8d0
# XXX: Currently, one cannot override automake's 'check' target.  As a
Packit d7e8d0
# workaround, we avoid defining 'TESTS', thus automake will not emit
Packit d7e8d0
# the 'check' target.  For extra robustness, we merely define a
Packit d7e8d0
# dependency on 'xcheck', so this hack should also work even if
Packit d7e8d0
# automake would emit the 'check' target, as adding dependencies to
Packit d7e8d0
# targets is okay.
Packit d7e8d0
check: xcheck
Packit d7e8d0
Packit d7e8d0
.PHONY: xcheck
Packit d7e8d0
Packit d7e8d0
xcheck:	all
Packit d7e8d0
	$(TESTS_ENVIRONMENT) $(PYTHON) $(srcdir)/run-tests.py \
Packit d7e8d0
	  --interpreters="$(PYTHONS)" --srcdir=$(srcdir) $(TESTFLAGS) \
Packit d7e8d0
	  $(XTESTS)
Packit d7e8d0
Packit d7e8d0
CLEANFILES = secring.gpg pubring.gpg pubring.kbx trustdb.gpg dirmngr.conf \
Packit d7e8d0
	gpg-agent.conf pubring.kbx~ gpg.conf pubring.gpg~ \
Packit d7e8d0
	random_seed .gpg-v21-migrated tofu.db \
Packit d7e8d0
        pubring-stamp private-keys-v1.d/gpg-sample.stamp
Packit d7e8d0
Packit d7e8d0
private_keys = \
Packit d7e8d0
        $(test_srcdir)/13CD0F3BDF24BE53FE192D62F18737256FF6E4FD \
Packit d7e8d0
        $(test_srcdir)/76F7E2B35832976B50A27A282D9B87E44577EB66 \
Packit d7e8d0
        $(test_srcdir)/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD \
Packit d7e8d0
        $(test_srcdir)/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F \
Packit d7e8d0
        $(test_srcdir)/7A030357C0F253A5BBCD282FFC4E521B37558F5C
Packit d7e8d0
Packit d7e8d0
clean-local:
Packit d7e8d0
	-$(top_srcdir)/tests/start-stop-agent --stop
Packit d7e8d0
	-rm -fR -- private-keys-v1.d openpgp-revocs.d S.gpg-agent sshcontrol
Packit d7e8d0
Packit d7e8d0
Packit d7e8d0
BUILT_SOURCES = gpg.conf gpg-agent.conf pubring-stamp \
Packit d7e8d0
           private-keys-v1.d/gpg-sample.stamp
Packit d7e8d0
Packit d7e8d0
private-keys-v1.d/gpg-sample.stamp: $(private_keys)
Packit d7e8d0
	-gpgconf --kill all
Packit d7e8d0
	$(MKDIR_P) ./private-keys-v1.d
Packit d7e8d0
	for k in $(private_keys); do \
Packit d7e8d0
          cp $$k private-keys-v1.d/$${k#$(test_srcdir)/}.key; \
Packit d7e8d0
        done
Packit d7e8d0
	echo x > ./private-keys-v1.d/gpg-sample.stamp
Packit d7e8d0
Packit d7e8d0
pubring-stamp: $(test_srcdir)/pubdemo.asc           \
Packit d7e8d0
                 ./private-keys-v1.d/gpg-sample.stamp
Packit d7e8d0
	$(GPG) --batch --no-permission-warning \
Packit d7e8d0
               --import $(test_srcdir)/pubdemo.asc
Packit d7e8d0
	-$(GPG) --batch --no-permission-warning \
Packit d7e8d0
		--import $(test_srcdir)/secdemo.asc
Packit d7e8d0
	echo x > ./pubring-stamp
Packit d7e8d0
Packit d7e8d0
gpg.conf:
Packit d7e8d0
# This is required for t-sig-notations.
Packit d7e8d0
	echo no-force-v3-sigs > ./gpg.conf
Packit d7e8d0
	echo ignore-invalid-option agent-program >> ./gpg.conf
Packit d7e8d0
	echo "agent-program `which $(GPG_AGENT)`|--debug-quick-random" >> ./gpg.conf
Packit d7e8d0
Packit d7e8d0
gpg-agent.conf:
Packit d7e8d0
# This is required for gpg2, which does not support command fd.
Packit d7e8d0
	echo pinentry-program $(abs_top_srcdir)/tests/gpg/pinentry >$@