summaryrefslogtreecommitdiffstats
path: root/tests/inittests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/inittests')
-rwxr-xr-xtests/inittests100
1 files changed, 100 insertions, 0 deletions
diff --git a/tests/inittests b/tests/inittests
new file mode 100755
index 0000000..9090674
--- /dev/null
+++ b/tests/inittests
@@ -0,0 +1,100 @@
+#!/bin/sh
+# Copyright (C) 2002 Free Software Foundation, Inc.
+#
+# 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.
+
+set -e
+
+sample_certs='
+cert_g10code_test1.pem
+cert_g10code_pete1.pem
+cert_g10code_theo1.pem
+'
+
+private_keys='
+32100C27173EF6E9C4E9A25D3D69F86D37A4F939
+'
+
+clean_files='
+gpgsm.conf gpg-agent.conf trustlist.txt pubring.kbx
+msg msg.sig msg.unsig
+'
+
+
+[ -z "$srcdir" ] && srcdir=.
+[ -z "$GPGSM" ] && GPGSM=../sm/gpgsm
+
+if [ -d $srcdir/samplekeys ] \
+ && grep TESTS_ENVIRONMENT Makefile >/dev/null 2>&1; then
+ :
+else
+ # During make distclean the Makefile has already been removed,
+ # so we need this extra test.
+ if ! grep gnupg-test-directory testdir.stamp >/dev/null 2>&1; then
+ echo "inittests: please cd to the tests directory first" >&2
+ exit 1
+ fi
+fi
+
+if [ "$1" = "--clean" ]; then
+ if [ -d private-keys-v1.d ]; then
+ rm private-keys-v1.d/* 2>/dev/null || true
+ rmdir private-keys-v1.d
+ fi
+ rm ${clean_files} testdir.stamp 2>/dev/null || true
+ exit 0
+fi
+
+if [ "$GNUPGHOME" != "`/bin/pwd`" ]; then
+ echo "inittests: please set GNUPGHOME to the test directory" >&2
+ exit 1
+fi
+
+if [ -n "$GPG_AGENT_INFO" ]; then
+ echo "inittests: please unset GPG_AGENT_INFO" >&2
+ exit 1
+fi
+
+# A stamp file used with --clean
+echo gnupg-test-directory > testdir.stamp
+
+
+# Create the private key directly if it does not exists and copy
+# the sample keys.
+[ -d private-keys-v1.d ] || mkdir private-keys-v1.d
+for i in ${private_keys}; do
+ cat ${srcdir}/samplekeys/$i.key >private-keys-v1.d/$i.key
+done
+
+# Create the configuration scripts
+# Note, die to an expired test certificate, we need to use
+# the faked system time option.
+cat > gpgsm.conf <<EOF
+no-secmem-warning
+disable-crl-checks
+agent-program ../agent/gpg-agent
+faked-system-time 1038835799
+EOF
+
+cat > gpg-agent.conf <<EOF
+no-grab
+pinentry-program /home/wk/work/pinentry/gtk/pinentry-gtk
+disable-scdaemon
+EOF
+
+cat > trustlist.txt <<EOF
+# CN=test cert 1,OU=Aegypten Project,O=g10 Code GmbH,L=Düsseldorf,C=DE
+3CF405464F66ED4A7DF45BBDD1E4282E33BDB76E S
+EOF
+
+# Make sure that the sample certs are available but ignore errors here
+# because we are not a test script.
+for i in ${sample_certs}; do
+ $GPGSM --import ${srcdir}/samplekeys/$i || true
+done