chiark / gitweb /
Merge remote-tracking branch 'dgit/dgit/sid' into experimental archive/debian/5.5+exp2 debian/5.5+exp2
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 28 Jun 2018 15:02:23 +0000 (16:02 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 28 Jun 2018 15:02:23 +0000 (16:02 +0100)
debian/changelog
tests/tstunt/gpg
tests/tstunt/gpg-withagent [new file with mode: 0755]

index 87f86a6dbd4cda88900222caf114fa0ccd4b45a9..0f36987bda9b081fa6694d8875c945dc394ebc79 100644 (file)
@@ -1,3 +1,9 @@
+dgit (5.5+exp2) experimental; urgency=medium
+
+  * test suite: Explicit agent starting/stopping
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk>  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 <ijackson@chiark.greenend.org.uk>  Thu, 28 Jun 2018 13:25:21 +0100
 
+dgit (5.4+exp1) experimental; urgency=medium
+
+  * No-change upload, for testing.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk>  Thu, 28 Jun 2018 00:44:52 +0100
+
 dgit (5.4) unstable; urgency=medium
 
   Improvements:
index 679a6b8e10826cba63b7bd57d5ee34d69fab877c..74152bd990670362e7e62f49cefe5068fede007b 100755 (executable)
@@ -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 (executable)
index 0000000..4cb5d4e
--- /dev/null
@@ -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 </dev/null \
+               '/echo dgit-gpg-agent-ok' /bye 2>&1 \
+       | grep dgit-gpg-agent-ok >&2
+}
+
+
+$DGIT_STUNT_AGENT --daemon </dev/null >&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 </dev/null \
+               KILLAGENT /bye 2>&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