1de903e571dcacc9c1ccf580d516352788fca1c9
[gnupg.git] / tests / inittests
1 #!/bin/sh
2 #       Copyright (C) 2002 Free Software Foundation, Inc.
3 #
4 # This file is free software; as a special exception the author gives
5 # unlimited permission to copy and/or distribute it, with or without
6 # modifications, as long as this notice is preserved.
7 #
8 # This file is distributed in the hope that it will be useful, but
9 # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
10 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11
12 set -e
13
14 sample_cert='
15 cert_g10code_test1.pem
16 cert_g10code_pete1.pem
17 cert_g10code_theo1.pem
18 '
19
20 private_keys='
21 32100C27173EF6E9C4E9A25D3D69F86D37A4F939
22 '
23
24 clean_files='
25 gpgsm.conf gpg-agent.conf trustlist.txt keyring.kbx
26 msg msg.sig msg.unsig
27 '
28
29
30 [ -z "$srcdir" ] && srcdir=.
31 [ -z "$GPGSM" ] && GPGSM=../sm/gpgsm
32
33 if [ -d $srcdir/samplekeys ] \
34    && grep TESTS_ENVIRONMENT Makefile >/dev/null 2>&1; then
35  :
36 else
37     echo "inittests: please cd to the tests directory first" >&2
38     exit 1
39 fi
40
41 if [ "$1" = "--clean" ]; then
42     if [ -d private-keys-v1.d ]; then
43        rm private-keys-v1.d/* 2>/dev/null || true
44        rmdir private-keys-v1.d
45     fi
46     rm ${clean_files} 2>/dev/null || true
47     exit 0
48 fi
49
50 if [ "$GNUPGHOME" != "`pwd`" ]; then
51     echo "inittests: please set GNUPGHOME to the test directory" >&2
52     exit 1
53 fi
54
55 if [ -n "$GPG_AGENT_INFO" ]; then
56     echo "inittests: please unset GPG_AGENT_INFO" >&2
57     exit 1
58 fi
59
60
61
62 # Create the private key directy if it does not exists and copy 
63 # the sample keys.
64 [ -d private-keys-v1.d ] || mkdir private-keys-v1.d
65 for i in ${private_keys}; do 
66     cp ${srcdir}/samplekeys/$i.key private-keys-v1.d/$i.key
67 done
68
69 # Create the configuration scripts
70 cat > gpgsm.conf <<EOF
71 no-secmem-warning
72 disable-crl-checks
73 agent-program ../agent/gpg-agent
74 EOF
75
76 cat > gpg-agent.conf <<EOF
77 no-grab
78 pinentry-program /home/wk/work/pinentry/gtk/pinentry-gtk
79 EOF
80
81 cat > trustlist.txt <<EOF
82 # CN=test cert 1,OU=Aegypten Project,O=g10 Code GmbH,L=Düsseldorf,C=DE
83 3CF405464F66ED4A7DF45BBDD1E4282E33BDB76E S
84 EOF
85
86 # Make sure that the sample certs are available
87 for i in ${sample_certs}; do 
88     $GPGSM --import ${srcdir}/samplekeys/$i.pem 
89 done