summaryrefslogtreecommitdiff
path: root/tests/tstunt/gpg
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tstunt/gpg')
-rwxr-xr-xtests/tstunt/gpg28
1 files changed, 27 insertions, 1 deletions
diff --git a/tests/tstunt/gpg b/tests/tstunt/gpg
index d71aa63..a108267 100755
--- a/tests/tstunt/gpg
+++ b/tests/tstunt/gpg
@@ -1,6 +1,32 @@
#!/bin/sh
set -e
-exec \
+
+for attempt in '' exec; do
+
+set +e
+$attempt \
$DGIT_TEST_REAL_GPG \
--agent-program=$DGIT_STUNT_AGENT \
"$@"
+rc=$?
+set -e
+
+if [ $rc != 2 ]; then exit $rc; fi
+
+echo >&2 "WARNING - GNUPG FAILED $rc - STUNT GNUPG $attempt $*"
+
+sh -ec '
+ if [ "x$DGIT_GNUPG_STUNT_ERRLOG" != x ]; then
+ exec >"$DGIT_GNUPG_STUNT_ERRLOG"
+ else
+ exec 2>/dev/null
+ fi
+ exec >/dev/tty
+ printf "%s\n" "$*"
+' x "GNUPG WRAPPER - TROUBLE - $HOME $GNUPGHOME - FAILED $rc $attempt $*"
+
+sleep 10
+
+done
+
+exit 127