summaryrefslogtreecommitdiff
path: root/lang/python/tests/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'lang/python/tests/Makefile.am')
-rw-r--r--lang/python/tests/Makefile.am114
1 files changed, 114 insertions, 0 deletions
diff --git a/lang/python/tests/Makefile.am b/lang/python/tests/Makefile.am
new file mode 100644
index 0000000..aa88bdc
--- /dev/null
+++ b/lang/python/tests/Makefile.am
@@ -0,0 +1,114 @@
+# Makefile.am for the tests of the Python bindings.
+# Copyright (C) 2016 g10 Code 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 General Public License as published by
+# the Free Software Foundation; either version 2 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/>.
+
+GPG = gpg
+GPG_AGENT = gpg-agent
+export GNUPGHOME := $(abs_builddir)
+export GPG_AGENT_INFO :=
+
+test_srcdir = $(top_srcdir)/tests/gpg
+
+TESTS_ENVIRONMENT = GNUPGHOME=$(abs_builddir) \
+ LC_ALL=C GPG_AGENT_INFO= \
+ top_srcdir=$(top_srcdir) \
+ srcdir=$(srcdir) \
+ LD_LIBRARY_PATH="../../../src/.libs:$(LD_LIBRARY_PATH)"
+
+py_tests = t-wrapper.py \
+ t-callbacks.py \
+ t-data.py \
+ t-encrypt.py \
+ t-encrypt-sym.py \
+ t-encrypt-sign.py \
+ t-sign.py \
+ t-signers.py \
+ t-decrypt.py \
+ t-verify.py \
+ t-decrypt-verify.py \
+ t-sig-notation.py \
+ t-export.py \
+ t-import.py \
+ t-trustlist.py \
+ t-edit.py \
+ t-keylist.py \
+ t-wait.py \
+ t-encrypt-large.py \
+ t-file-name.py \
+ t-idiomatic.py \
+ t-protocol-assuan.py
+
+XTESTS = initial.py $(py_tests) final.py
+EXTRA_DIST = support.py $(XTESTS) encrypt-only.asc sign-only.asc \
+ run-tests.py
+
+# XXX: Currently, one cannot override automake's 'check' target. As a
+# workaround, we avoid defining 'TESTS', thus automake will not emit
+# the 'check' target. For extra robustness, we merely define a
+# dependency on 'xcheck', so this hack should also work even if
+# automake would emit the 'check' target, as adding dependencies to
+# targets is okay.
+check: xcheck
+
+.PHONY: xcheck
+
+xcheck: ./pubring-stamp
+ $(TESTS_ENVIRONMENT) $(PYTHON) $(srcdir)/run-tests.py \
+ --interpreters="$(PYTHONS)" --srcdir=$(srcdir) $(TESTFLAGS) \
+ $(XTESTS)
+
+CLEANFILES = secring.gpg pubring.gpg pubring.kbx trustdb.gpg dirmngr.conf \
+ gpg-agent.conf pubring.kbx~ gpg.conf pubring.gpg~ \
+ random_seed .gpg-v21-migrated \
+ pubring-stamp private-keys-v1.d/gpg-sample.stamp
+
+private_keys = \
+ $(test_srcdir)/13CD0F3BDF24BE53FE192D62F18737256FF6E4FD \
+ $(test_srcdir)/76F7E2B35832976B50A27A282D9B87E44577EB66 \
+ $(test_srcdir)/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD \
+ $(test_srcdir)/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F \
+ $(test_srcdir)/7A030357C0F253A5BBCD282FFC4E521B37558F5C
+
+clean-local:
+ -$(top_srcdir)/tests/start-stop-agent --stop
+ -rm -fR -- private-keys-v1.d openpgp-revocs.d S.gpg-agent sshcontrol
+
+
+./private-keys-v1.d/gpg-sample.stamp: $(private_keys)
+ test -d ./private-keys-v1.d || mkdir ./private-keys-v1.d
+ for k in $(private_keys); do \
+ cp $$k private-keys-v1.d/$${k#$(test_srcdir)/}.key; \
+ done
+ echo x > ./private-keys-v1.d/gpg-sample.stamp
+
+./pubring-stamp: $(test_srcdir)/pubdemo.asc \
+ ./gpg.conf ./gpg-agent.conf \
+ ./private-keys-v1.d/gpg-sample.stamp
+ $(GPG) --batch --no-permission-warning \
+ --import $(test_srcdir)/pubdemo.asc
+ -$(GPG) --batch --no-permission-warning \
+ --import $(test_srcdir)/secdemo.asc
+ 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.
+ echo pinentry-program $(abs_top_srcdir)/tests/gpg/pinentry >$@
+ echo allow-loopback-pinentry >>$@