summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/gpg/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87Fbin0 -> 682 bytes
-rw-r--r--tests/gpg/13CD0F3BDF24BE53FE192D62F18737256FF6E4FDbin0 -> 828 bytes
-rw-r--r--tests/gpg/76F7E2B35832976B50A27A282D9B87E44577EB66bin0 -> 493 bytes
-rw-r--r--tests/gpg/7A030357C0F253A5BBCD282FFC4E521B37558F5Cbin0 -> 636 bytes
-rw-r--r--tests/gpg/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BDbin0 -> 636 bytes
-rw-r--r--tests/gpg/Makefile.am47
-rw-r--r--tests/gpg/Makefile.in54
-rwxr-xr-xtests/gpg/final.test4
-rwxr-xr-xtests/gpg/initial.test4
-rwxr-xr-xtests/gpg/start-stop-agent45
10 files changed, 122 insertions, 32 deletions
diff --git a/tests/gpg/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F b/tests/gpg/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F
new file mode 100644
index 0000000..4ec6d13
--- /dev/null
+++ b/tests/gpg/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F
Binary files differ
diff --git a/tests/gpg/13CD0F3BDF24BE53FE192D62F18737256FF6E4FD b/tests/gpg/13CD0F3BDF24BE53FE192D62F18737256FF6E4FD
new file mode 100644
index 0000000..16138cf
--- /dev/null
+++ b/tests/gpg/13CD0F3BDF24BE53FE192D62F18737256FF6E4FD
Binary files differ
diff --git a/tests/gpg/76F7E2B35832976B50A27A282D9B87E44577EB66 b/tests/gpg/76F7E2B35832976B50A27A282D9B87E44577EB66
new file mode 100644
index 0000000..079cc7b
--- /dev/null
+++ b/tests/gpg/76F7E2B35832976B50A27A282D9B87E44577EB66
Binary files differ
diff --git a/tests/gpg/7A030357C0F253A5BBCD282FFC4E521B37558F5C b/tests/gpg/7A030357C0F253A5BBCD282FFC4E521B37558F5C
new file mode 100644
index 0000000..ad505ab
--- /dev/null
+++ b/tests/gpg/7A030357C0F253A5BBCD282FFC4E521B37558F5C
Binary files differ
diff --git a/tests/gpg/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD b/tests/gpg/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD
new file mode 100644
index 0000000..f30792e
--- /dev/null
+++ b/tests/gpg/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD
Binary files differ
diff --git a/tests/gpg/Makefile.am b/tests/gpg/Makefile.am
index dd28d5e..c9000c9 100644
--- a/tests/gpg/Makefile.am
+++ b/tests/gpg/Makefile.am
@@ -1,18 +1,18 @@
# Copyright (C) 2000 Werner Koch (dd9jn)
# Copyright (C) 2001, 2004, 2005, 2009 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 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, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
@@ -20,8 +20,9 @@
## Process this file with automake to produce Makefile.in
GPG = @GPG@
+GPG_AGENT = @GPG_AGENT@
-TESTS_ENVIRONMENT = GNUPGHOME=$(abs_builddir) GPG_AGENT_INFO=
+TESTS_ENVIRONMENT = GNUPGHOME=$(abs_builddir) LC_ALL=C GPG_AGENT_INFO=
# The keylist tests must come after the import and the edit test.
noinst_HEADERS = t-support.h
@@ -32,17 +33,29 @@ else
tests_unix = t-eventloop t-thread1
endif
-TESTS = t-encrypt t-encrypt-sym t-encrypt-sign t-sign t-signers \
+c_tests = \
+ t-encrypt t-encrypt-sym t-encrypt-sign t-sign t-signers \
t-decrypt t-verify t-decrypt-verify t-sig-notation t-export \
t-import t-trustlist t-edit t-keylist t-keylist-sig t-wait \
t-encrypt-large t-file-name t-gpgconf $(tests_unix)
+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
+ random_seed S.gpg-agent
+
+private_keys = \
+ 13CD0F3BDF24BE53FE192D62F18737256FF6E4FD \
+ 76F7E2B35832976B50A27A282D9B87E44577EB66 \
+ A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD \
+ 13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F \
+ 7A030357C0F253A5BBCD282FFC4E521B37558F5C
-EXTRA_DIST = pubdemo.asc secdemo.asc cipher-1.asc cipher-2.asc \
- geheim.txt pubkey-1.asc seckey-1.asc pinentry
+
+EXTRA_DIST = start-stop-agent initial.test final.test \
+ pubdemo.asc secdemo.asc cipher-1.asc cipher-2.asc \
+ geheim.txt pubkey-1.asc seckey-1.asc pinentry $(private_keys)
INCLUDES = -I$(top_builddir)/src
@@ -51,17 +64,25 @@ LDADD = ../../src/libgpgme.la
t_thread1_LDADD = ../../src/libgpgme-pthread.la -lpthread
# We don't run t-genkey in the test suite, because it takes too long
-noinst_PROGRAMS = $(TESTS) t-genkey
+noinst_PROGRAMS = $(c_tests) t-genkey
clean-local:
- -gpg-connect-agent KILLAGENT /bye
+ -$(srcdir)/start-stop-agent --stop
-rm -fR private-keys-v1.d
-all-local: ./gpg.conf ./gpg-agent.conf ./pubring.gpg
+all-local: ./gpg.conf ./gpg-agent.conf ./pubring.gpg \
+ ./private-keys-v1.d/gpg-sample.stamp
export GNUPGHOME := $(abs_builddir)
-export GPG_AGENT_INFO :=
+export GPG_AGENT_INFO :=
+
+./private-keys-v1.d/gpg-sample.stamp: $(srcdir)/$(private_keys)
+ test -d ./private-keys-v1.d || mkdir ./private-keys-v1.d
+ for k in $(private_keys); do \
+ cp $(srcdir)/$$k private-keys-v1.d/$$k.key; \
+ done
+ echo x > ./private-keys-v1.d/gpg-sample.stamp
./pubring.gpg: $(srcdir)/pubdemo.asc
-$(GPG) --no-permission-warning \
diff --git a/tests/gpg/Makefile.in b/tests/gpg/Makefile.in
index 676ef12..d15503b 100644
--- a/tests/gpg/Makefile.in
+++ b/tests/gpg/Makefile.in
@@ -17,19 +17,19 @@
# Copyright (C) 2000 Werner Koch (dd9jn)
# Copyright (C) 2001, 2004, 2005, 2009 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 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, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
@@ -71,14 +71,7 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-TESTS = t-encrypt$(EXEEXT) t-encrypt-sym$(EXEEXT) \
- t-encrypt-sign$(EXEEXT) t-sign$(EXEEXT) t-signers$(EXEEXT) \
- t-decrypt$(EXEEXT) t-verify$(EXEEXT) t-decrypt-verify$(EXEEXT) \
- t-sig-notation$(EXEEXT) t-export$(EXEEXT) t-import$(EXEEXT) \
- t-trustlist$(EXEEXT) t-edit$(EXEEXT) t-keylist$(EXEEXT) \
- t-keylist-sig$(EXEEXT) t-wait$(EXEEXT) \
- t-encrypt-large$(EXEEXT) t-file-name$(EXEEXT) \
- t-gpgconf$(EXEEXT) $(am__EXEEXT_1)
+TESTS = initial.test $(am__EXEEXT_2) final.test
noinst_PROGRAMS = $(am__EXEEXT_2) t-genkey$(EXEEXT)
subdir = tests/gpg
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
@@ -388,18 +381,33 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-TESTS_ENVIRONMENT = GNUPGHOME=$(abs_builddir) GPG_AGENT_INFO=
+GPG_AGENT = @GPG_AGENT@
+TESTS_ENVIRONMENT = GNUPGHOME=$(abs_builddir) LC_ALL=C GPG_AGENT_INFO=
# The keylist tests must come after the import and the edit test.
noinst_HEADERS = t-support.h
@HAVE_W32_SYSTEM_FALSE@tests_unix = t-eventloop t-thread1
@HAVE_W32_SYSTEM_TRUE@tests_unix =
+c_tests = \
+ t-encrypt t-encrypt-sym t-encrypt-sign t-sign t-signers \
+ t-decrypt t-verify t-decrypt-verify t-sig-notation t-export \
+ t-import t-trustlist t-edit t-keylist t-keylist-sig t-wait \
+ t-encrypt-large t-file-name t-gpgconf $(tests_unix)
+
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
+ random_seed S.gpg-agent
-EXTRA_DIST = pubdemo.asc secdemo.asc cipher-1.asc cipher-2.asc \
- geheim.txt pubkey-1.asc seckey-1.asc pinentry
+private_keys = \
+ 13CD0F3BDF24BE53FE192D62F18737256FF6E4FD \
+ 76F7E2B35832976B50A27A282D9B87E44577EB66 \
+ A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD \
+ 13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F \
+ 7A030357C0F253A5BBCD282FFC4E521B37558F5C
+
+EXTRA_DIST = start-stop-agent initial.test final.test \
+ pubdemo.asc secdemo.asc cipher-1.asc cipher-2.asc \
+ geheim.txt pubkey-1.asc seckey-1.asc pinentry $(private_keys)
INCLUDES = -I$(top_builddir)/src
AM_CPPFLAGS = @GPG_ERROR_CFLAGS@
@@ -871,14 +879,22 @@ uninstall-am:
clean-local:
- -gpg-connect-agent KILLAGENT /bye
+ -$(srcdir)/start-stop-agent --stop
-rm -fR private-keys-v1.d
-all-local: ./gpg.conf ./gpg-agent.conf ./pubring.gpg
+all-local: ./gpg.conf ./gpg-agent.conf ./pubring.gpg \
+ ./private-keys-v1.d/gpg-sample.stamp
export GNUPGHOME := $(abs_builddir)
-export GPG_AGENT_INFO :=
+export GPG_AGENT_INFO :=
+
+./private-keys-v1.d/gpg-sample.stamp: $(srcdir)/$(private_keys)
+ test -d ./private-keys-v1.d || mkdir ./private-keys-v1.d
+ for k in $(private_keys); do \
+ cp $(srcdir)/$$k private-keys-v1.d/$$k.key; \
+ done
+ echo x > ./private-keys-v1.d/gpg-sample.stamp
./pubring.gpg: $(srcdir)/pubdemo.asc
-$(GPG) --no-permission-warning \
diff --git a/tests/gpg/final.test b/tests/gpg/final.test
new file mode 100755
index 0000000..5148a34
--- /dev/null
+++ b/tests/gpg/final.test
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+${srcdir}/start-stop-agent --stop
+exit 0
diff --git a/tests/gpg/initial.test b/tests/gpg/initial.test
new file mode 100755
index 0000000..1981c99
--- /dev/null
+++ b/tests/gpg/initial.test
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+${srcdir}/start-stop-agent --start
+exit 0
diff --git a/tests/gpg/start-stop-agent b/tests/gpg/start-stop-agent
new file mode 100755
index 0000000..ab47d8d
--- /dev/null
+++ b/tests/gpg/start-stop-agent
@@ -0,0 +1,45 @@
+#!/bin/sh
+# Copyright (C) 2013 g10 Code GmbH
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved. This file is
+# distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY, to the extent permitted by law; without even the implied
+# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+if [ -z "$(command -v gpg-connect-agent)" ]; then
+ echo "gpg-agent not installed and thus not started" >&2
+ exit 0;
+fi
+
+GPG_AGENT_INFO=
+export GPG_AGENT_INFO
+
+token=$(echo "gpgme-$(pwd)" | tr ' ' '_')
+
+if [ "$1" = "--stop" ]; then
+ if [ "$(gpg-connect-agent getval\ $token /bye 2>/dev/null | head -1)" \
+ != "D set" ]; then
+ echo "gpg-agent not running" >&2
+ exit 0
+ fi
+ echo "stopping gpg-agent " >&2
+ gpg-connect-agent KILLAGENT /bye >/dev/null 2>&1
+ exit 0
+fi
+
+if [ "$(gpg-connect-agent getval\ $token /bye 2>/dev/null | head -1)" \
+ = "D set" ]; then
+ echo "gpg-agent already running" >&2
+ exit 0
+fi
+
+echo "starting gpg-agent " >&2
+gpg-connect-agent putval\ $token\ set /bye >/dev/null 2>&1
+if [ "$(gpg-connect-agent getval\ $token /bye 2>/dev/null | head -1)" \
+ != "D set" ]; then
+ echo "error starting gpg-agent" >&2
+ exit 1
+fi
+exit 0