1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-10-30 19:58:44 +01:00
gnupg/tests/inittests
NIIBE Yutaka 150d545231
tests: Add "disable-scdaemon" in gpg-agent.conf.
* tests/openpgp/defs.scm: Add "disable-scdaemon".  Remove
  "scdaemon-program".
* tests/gpgme/gpgme-defs.scm, tests/gpgsm/gpgsm-defs.scm: Likewise.
* tests/inittests, tests/pkits/inittests: Add "disable-scdaemon"

--

Before this change, running "make check" accesses USB device by
scdaemon on host computer.  If there is any smartcard/token available,
it may affect test results.  Because default key choice depends on
smartcard/token availability now and existing tests have nothing about
testing smartcard/token, disabling scdaemon is good.

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
(cherry picked from commit 64b7c6fd19)
2019-03-07 10:50:17 +01:00

101 lines
2.6 KiB
Bash
Executable File

#!/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