tests: Make agent spawning more robust.

* tests/gpgsm/Makefile.am (gpgsm.conf): Add agent-program directive.
* tests/start-stop-agent: Update agent-program directive.
--
Update the 'agent-program' configuration directive to point to the
same agent that we are starting.  Previously, it was possible that a
different agent was started if 'make check' was run with a different
PATH.

Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
Justus Winter 2017-07-13 15:41:11 +02:00
parent 2446138e3c
commit 9cd2b58dfb
No known key found for this signature in database
GPG Key ID: DD1A52F9DA8C9020
2 changed files with 13 additions and 0 deletions

View File

@ -65,6 +65,7 @@ BUILT_SOURCES = gpgsm.conf trustlist.txt pubring-stamp \
./gpgsm.conf: ./gpgsm.conf:
echo disable-crl-checks > ./gpgsm.conf echo disable-crl-checks > ./gpgsm.conf
echo faked-system-time 1008241200 >> ./gpgsm.conf echo faked-system-time 1008241200 >> ./gpgsm.conf
echo "agent-program `which $(GPG_AGENT)`|--debug-quick-random" >> ./gpg.conf
./private-keys-v1.d/gpg-sample.stamp: $(srcdir)/$(key_id) ./private-keys-v1.d/gpg-sample.stamp: $(srcdir)/$(key_id)
-gpgconf --kill all -gpgconf --kill all

View File

@ -30,6 +30,18 @@ if [ "$1" = "--stop" ]; then
exit 0 exit 0
fi fi
# Update 'agent-program' in the configuration files to make sure we
# will always start exactly this agent again if we ever need to.
for F in gpg.conf gpgsm.conf
do
if test -f "$GNUPGHOME/$F"
then
mv "$GNUPGHOME/$F" "$GNUPGHOME/$F~"
sed -e "s#^agent-program.*#agent-program ${GPG_AGENT}|--debug-quick-random#" \
>"$GNUPGHOME/$F" <"$GNUPGHOME/$F~"
fi
done
if [ "$(gpg-connect-agent --no-autostart getval\ $token /bye 2>/dev/null | head -1)" \ if [ "$(gpg-connect-agent --no-autostart getval\ $token /bye 2>/dev/null | head -1)" \
= "D set" ]; then = "D set" ]; then
echo "gpg-agent already running" >&2 echo "gpg-agent already running" >&2