mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
100 lines
2.5 KiB
Plaintext
100 lines
2.5 KiB
Plaintext
|
#!/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" != "`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 directy 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
|
||
|
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
|