1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-11-12 21:58:50 +01:00
gnupg/tests/openpgp/defs.inc

228 lines
5.0 KiB
PHP
Raw Normal View History

# Definitions for the OpenPGP test scripts -*- sh -*-
# Copyright 1998,1999,2000,2001,2002,2003,2004,2005,2006,
2010-10-14 10:32:55 +02:00
# 2007, 2010 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.
#--------------------------------
#------ constants ---------------
#--------------------------------
2010-10-14 18:34:31 +02:00
usrname1="one@example.com"
usrpass1="def"
2010-10-14 18:34:31 +02:00
usrname2="two@example.com"
usrpass2=""
2010-10-14 18:34:31 +02:00
usrname3="three@example.com"
usrpass3=""
dsa_usrname1="pgp5"
2010-10-14 18:34:31 +02:00
# we use the sub key because we do not yet have the logic to to derive
# the first encryption key from a keyblock (I guess) (Well of course
# we have this by now and the notation below will lookup the primary
# first and the search for the encryption subkey.)
dsa_usrname2="0xCB879DE9"
plain_files="plain-1 plain-2 plain-3"
data_files="data-500 data-9000 data-32000 data-80000"
exp_files=""
# The testscripts expect the original language
LANG=
LANGUAGE=
LC_ALL=
LC_MESSAGES=
# Internal use.
defs_stop_on_error=no
defs_error_seen=no
#--------------------------------
#------ utility functions -------
#--------------------------------
fatal () {
echo "$pgmname: fatal:" $* >&2
echo "$pgmname: fatal:" $* >&5
2010-10-14 18:34:31 +02:00
echo stop >gnupg-test.stop
exit 1;
}
error () {
echo "$pgmname:" $* >&2
defs_error_seen=yes
echo "$pgmname:" $* >&5
if [ x$defs_stop_on_error != xyes ]; then
exit 1
fi
}
# Call this at the start of a test and resume_error at the end to keep
# on running all subtests without immediately exiting on error.
suspend_error () {
defs_stop_on_error=yes
}
resume_error () {
if [ x$defs_error_seen = xyes ]; then
exit 1
fi
defs_stop_on_error=no
defs_error_seen=no
}
info () {
echo "$pgmname:" $* >&2
if [ -n "${verbose+set}" ]; then
echo "$pgmname:" $* >&5
fi
}
linefeed () {
echo >&2
}
echo_n_init=no
echo_n () {
if test "$echo_n_init" = "no"; then
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
echo_n_n=
echo_n_c='
'
else
echo_n_n='-n'
echo_n_c=
fi
else
echo_n_n=
echo_n_c='\c'
fi
echo_n_init=yes
fi
echo $echo_n_n "${1}$echo_n_c"
}
#cleanup () {
# rm $cleanup_files 2>/dev/null || true
# echo "#empty" >./gpg.conf
#}
#add_cleanup () {
# cleanup_files="$cleanup_files $*"
#}
have_pubkey_algo () {
2010-10-14 18:34:31 +02:00
if $GPG --version | grep "Pubkey:.*$1" >/dev/null
then
true
else
false
fi
}
have_cipher_algo () {
2010-10-14 18:34:31 +02:00
if $GPG --version | grep "Cipher:.*$1" >/dev/null
then
true
else
false
fi
}
have_hash_algo () {
2010-10-14 18:34:31 +02:00
if $GPG --version | grep "Hash:.*$1" >/dev/null
then
true
else
false
fi
}
all_cipher_algos () {
2010-10-14 18:34:31 +02:00
$GPG --with-colons --list-config ciphername \
| sed 's/^cfg:ciphername://; s/;/ /g'
}
all_hash_algos () {
2010-10-14 18:34:31 +02:00
$GPG --with-colons --list-config digestname \
| sed 's/^cfg:digestname://; s/;/ /g'
}
set -e
pgmname=`basename $0`
#trap cleanup SIGHUP SIGINT SIGQUIT
[ -z "$srcdir" ] && fatal "not called from make"
#
2010-10-14 18:34:31 +02:00
if [ -f gnupg-test.stop ]; then
if [ $pgmname = "version.test" ]; then
rm gnupg-test.stop
else
# Skip the rest of the tests.
2010-10-14 18:34:31 +02:00
exit 77
fi
fi
# Always work in the current directory. We set GNUPGHOME only if it
# has not been set already. Usually it is set through the Makefile's
# TESTS_ENVIRONMENT macro.
if [ -z "$GNUPGHOME" ]; then
2010-10-14 10:32:55 +02:00
GNUPGHOME=`/bin/pwd`
export GNUPGHOME
2010-10-14 10:32:55 +02:00
elif [ "$GNUPGHOME" != `/bin/pwd` ]; then
echo "$pgmname: GNUPGHOME not set to the cwd" $* >&2
exit 1
fi
2010-10-14 18:34:31 +02:00
# We don't use GPG_AGENT_INFO anymore - better reset it.
unset GPG_AGENT_INFO
# (--no-permission-warning makes only sense on the commandline)
GPG="../../g10/gpg2 --no-permission-warning "
# (We may not use a relative name for gpg-agent.)
GPG_AGENT="$(cd ../../agent && /bin/pwd)/gpg-agent"
GPG_CONNECT_AGENT="../../tools/gpg-connect-agent"
GPGCONF="../../tools/gpgconf"
GPG_PRESET_PASSPHRASE="../../agent/gpg-preset-passphrase"
MKTDATA="../../tools/mk-tdata"
PINENTRY="$(cd $srcdir && /bin/pwd)/pinentry.sh"
# Default to empty passphrase for pinentry.sh
PINENTRY_USER_DATA=
2010-10-14 18:34:31 +02:00
2010-10-14 10:32:55 +02:00
# Make sure we have a valid option files even with VPATH builds.
for f in gpg.conf gpg-agent.conf ; do
2010-10-14 10:32:55 +02:00
if [ -f ./$f ]; then
:
elif [ -f $srcdir/$f.tmpl ]; then
cat $srcdir/$f.tmpl >$f
case "$f" in
gpg.conf)
echo "agent-program $GPG_AGENT" >>"$f"
;;
gpg-agent.conf)
echo "pinentry-program $PINENTRY" >>"$f"
;;
esac
2010-10-14 10:32:55 +02:00
fi
done
if [ "${verbose:-0}" -gt "1" ]; then
exec 5>/dev/null
else
echo "Test: $pgmname" > ${pgmname}.log
echo "GNUPGHOME=$GNUPGHOME" >> ${pgmname}.log
exec 5>&2 2>>${pgmname}.log
fi
:
# end