gpgme/tests/start-stop-agent
Andre Heinecke a98951a30a tests: Use --debug-quick-random for tests
* tests/start-stop-agent: Don't autostart agent on --stop and
running check. Use --debug-quick-random when starting.

--
This should speed up the tests especially on low entropy systems.
Possibly fixing a hang on pythons op_genkey test in the Launchpad
build enviorment (see launchpad issue 1655298)
2017-01-25 14:10:18 +01:00

48 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
# Copyright (C) 2013 g10 Code GmbH
#
# 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.
if [ -z "$(command -v gpg-connect-agent)" ]; then
echo "gpg-agent not installed and thus not started" >&2
exit 0;
fi
GPG_AGENT_INFO=
export GPG_AGENT_INFO
GPG_AGENT=$(which gpg-agent)
token=$(echo "gpgme-$(pwd)" | tr ' ' '_')
if [ "$1" = "--stop" ]; then
if [ "$(gpg-connect-agent --no-autostart getval\ $token /bye 2>/dev/null | head -1)" \
!= "D set" ]; then
echo "gpg-agent not running" >&2
exit 0
fi
echo "stopping gpg-agent " >&2
gpg-connect-agent KILLAGENT /bye >/dev/null 2>&1
exit 0
fi
if [ "$(gpg-connect-agent --no-autostart getval\ $token /bye 2>/dev/null | head -1)" \
= "D set" ]; then
echo "gpg-agent already running" >&2
exit 0
fi
echo "starting gpg-agent.." >&2
gpg-connect-agent --agent-program="${GPG_AGENT}|--debug-quick-random" putval\ $token\ set /bye
if [ $? -ne 0 -o "$(gpg-connect-agent getval\ $token /bye 2>/dev/null | head -1)" \
!= "D set" ]; then
echo "error starting gpg-agent" >&2
exit 1
fi
exit 0