From: Ian Jackson Date: Thu, 28 Jun 2018 15:02:23 +0000 (+0100) Subject: Merge remote-tracking branch 'dgit/dgit/sid' into experimental X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=refs%2Ftags%2Fdebian%2F5.5%2Bexp2;hp=a76782b4f0c9009a37e62d664b7d9692bd910783;p=dgit.git Merge remote-tracking branch 'dgit/dgit/sid' into experimental --- diff --git a/debian/changelog b/debian/changelog index 87f86a6d..0f36987b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +dgit (5.5+exp2) experimental; urgency=medium + + * test suite: Explicit agent starting/stopping + + -- Ian Jackson Thu, 28 Jun 2018 00:42:00 +0100 + dgit (5.5) unstable; urgency=medium * Add missing comma in debian/control. Closes:#902578. @@ -5,6 +11,12 @@ dgit (5.5) unstable; urgency=medium -- Ian Jackson Thu, 28 Jun 2018 13:25:21 +0100 +dgit (5.4+exp1) experimental; urgency=medium + + * No-change upload, for testing. + + -- Ian Jackson Thu, 28 Jun 2018 00:44:52 +0100 + dgit (5.4) unstable; urgency=medium Improvements: diff --git a/tests/tstunt/gpg b/tests/tstunt/gpg index 679a6b8e..74152bd9 100755 --- a/tests/tstunt/gpg +++ b/tests/tstunt/gpg @@ -3,4 +3,4 @@ set -e exec \ with-lock-ex -w "$DGIT_TEST_GNUPG_GLOBAL_LOCK" \ - $tmp "$DGIT_TEST_TROOT"/tstunt/gpg-locked "$@" + $tmp "$DGIT_TEST_TROOT"/tstunt/gpg-withagent "$@" diff --git a/tests/tstunt/gpg-withagent b/tests/tstunt/gpg-withagent new file mode 100755 index 00000000..4cb5d4e6 --- /dev/null +++ b/tests/tstunt/gpg-withagent @@ -0,0 +1,51 @@ +#!/bin/sh +set -ex + +retry_until_ok () { + sleeptime=0 + while ! "$@"; do + case $sleeptime in + ??.*) + echo >&2 "$0: GPG AGENT STARTP $@ TIMED OUT" + exit 127 + ;; + esac + sleep $sleeptime + sleeptime=$(echo "($sleeptime + 0.001) * 2" | bc -l) + done +} + +echo >&2 'GPG-WITHAGENT...' + +agent_is_running () { + gpg-connect-agent --no-autostart &1 \ + | grep dgit-gpg-agent-ok >&2 +} + + +$DGIT_STUNT_AGENT --daemon &2 +retry_until_ok agent_is_running + +echo >&2 'GPG-WITHAGENT... RUNNING' + +set +e +$DGIT_TEST_REAL_GPG \ + --agent-program=$DGIT_STUNT_AGENT "$@" +rc=$? +set -e + +echo >&2 'GPG-WITHAGENT... STOPPING' + +kill_agent_not_running () { + LC_MESSAGES=C gpg-connect-agent --no-autostart &1 \ + | tee -a /dev/stderr \ + | grep 'no gpg-agent running' >&2 +} + +retry_until_ok kill_agent_not_running + +echo >&2 'GPG-WITHAGENT... DONE' + +exit $rc