python: Robust exception handling in callbacks.
[gpgme.git] / lang / python / tests / Makefile.am
1 # Makefile.am for the tests of the Python bindings.
2 # Copyright (C) 2016 g10 Code GmbH
3 #
4 # This file is part of GPGME.
5 #
6 # GPGME is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 #
11 # GPGME is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
14 # Public License for more details.
15 #
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with this program; if not, see <http://www.gnu.org/licenses/>.
18
19 GPG = gpg
20 GPG_AGENT = gpg-agent
21 export GNUPGHOME := $(abs_builddir)
22 export GPG_AGENT_INFO :=
23
24 test_srcdir = $(top_srcdir)/tests/gpg
25
26 TESTS_ENVIRONMENT = GNUPGHOME=$(abs_builddir) \
27         LC_ALL=C GPG_AGENT_INFO= \
28         top_srcdir=$(top_srcdir) \
29         PYTHONPATH=`echo $(abs_builddir)/../build/lib.*`
30
31 py_tests = t-wrapper.py \
32         t-callbacks.py \
33         t-data.py \
34         t-encrypt.py \
35         t-encrypt-sym.py \
36         t-sign.py \
37         t-decrypt.py
38
39 TESTS = $(top_srcdir)/tests/gpg/initial.test \
40         $(py_tests) \
41         $(top_srcdir)/tests/gpg/final.test
42
43 CLEANFILES = secring.gpg pubring.gpg pubring.kbx trustdb.gpg dirmngr.conf \
44         gpg-agent.conf pubring.kbx~ gpg.conf pubring.gpg~ \
45         random_seed .gpg-v21-migrated pubring-stamp
46
47 private_keys = \
48         $(test_srcdir)/13CD0F3BDF24BE53FE192D62F18737256FF6E4FD \
49         $(test_srcdir)/76F7E2B35832976B50A27A282D9B87E44577EB66 \
50         $(test_srcdir)/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD \
51         $(test_srcdir)/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F \
52         $(test_srcdir)/7A030357C0F253A5BBCD282FFC4E521B37558F5C
53
54 clean-local:
55         -$(top_srcdir)/tests/start-stop-agent --stop
56         -rm -fR -- private-keys-v1.d openpgp-revocs.d S.gpg-agent sshcontrol
57
58 check-local: ./gpg.conf ./gpg-agent.conf ./pubring-stamp \
59            ./private-keys-v1.d/gpg-sample.stamp
60
61 # To guarantee that check-local is run before any tests we
62 # add this dependency:
63 $(top_srcdir)/tests/gpg/initial.test: check-local
64
65 ./private-keys-v1.d/gpg-sample.stamp: $(private_keys)
66         test -d ./private-keys-v1.d || mkdir ./private-keys-v1.d
67         for k in $(private_keys); do \
68           cp $$k private-keys-v1.d/`basename $$k`.key; \
69         done
70         echo x > ./private-keys-v1.d/gpg-sample.stamp
71
72 ./pubring-stamp: $(test_srcdir)/pubdemo.asc
73         $(GPG) --no-permission-warning \
74                --import $(test_srcdir)/pubdemo.asc
75         -$(GPG) --no-permission-warning \
76                 --import $(test_srcdir)/secdemo.asc
77         touch ./pubring-stamp
78
79 ./gpg.conf:
80 # This is required for t-sig-notations.
81         echo no-force-v3-sigs > ./gpg.conf
82
83 ./gpg-agent.conf:
84 # This is required for gpg2, which does not support command fd.
85         echo pinentry-program $(abs_top_srcdir)/tests/gpg/pinentry > ./gpg-agent.conf