chiark / gitweb /
test suite: dpkgsourceignores-docs: Check dgit-maint-merge(7) -i -I rune
[dgit.git] / tests / tstunt / gpg
index d71aa63f359d601081ef215188ef69d5cc09f120..a108267d3ce568edc4abaaa1711ac1d3a8050778 100755 (executable)
@@ -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