aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2017-07-13 13:41:11 +0000
committerJustus Winter <[email protected]>2017-07-13 13:41:11 +0000
commit9cd2b58dfb2c21cce64520cf4c726859b583d14e (patch)
tree81627f4e1532edffb1f7ce472905b55548066dcb
parentSync 'autogen.sh'. (diff)
downloadgpgme-9cd2b58dfb2c21cce64520cf4c726859b583d14e.tar.gz
gpgme-9cd2b58dfb2c21cce64520cf4c726859b583d14e.zip
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 <[email protected]>
-rw-r--r--tests/gpgsm/Makefile.am1
-rwxr-xr-xtests/start-stop-agent12
2 files changed, 13 insertions, 0 deletions
diff --git a/tests/gpgsm/Makefile.am b/tests/gpgsm/Makefile.am
index c73faeaf..a5667a85 100644
--- a/tests/gpgsm/Makefile.am
+++ b/tests/gpgsm/Makefile.am
@@ -65,6 +65,7 @@ BUILT_SOURCES = gpgsm.conf trustlist.txt pubring-stamp \
./gpgsm.conf:
echo disable-crl-checks > ./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)
-gpgconf --kill all
diff --git a/tests/start-stop-agent b/tests/start-stop-agent
index 3ce6f22a..9514e0a1 100755
--- a/tests/start-stop-agent
+++ b/tests/start-stop-agent
@@ -30,6 +30,18 @@ if [ "$1" = "--stop" ]; then
exit 0
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)" \
= "D set" ]; then
echo "gpg-agent already running" >&2