X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Ftstunt%2Fgpg;h=7e12846c46470a1418d7b53a6f49b33018555dbb;hb=refs%2Ftags%2Farchive%2Fdebian%2F5.5%2Bexp8;hp=a108267d3ce568edc4abaaa1711ac1d3a8050778;hpb=0450dc6909f1543a9515f9e686a5c01c7888073b;p=dgit.git diff --git a/tests/tstunt/gpg b/tests/tstunt/gpg index a108267d..7e12846c 100755 --- a/tests/tstunt/gpg +++ b/tests/tstunt/gpg @@ -1,32 +1,20 @@ #!/bin/sh set -e -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 +exec \ +with-lock-ex -w "$DGIT_TEST_GNUPG_GLOBAL_LOCK" \ + sh -c ' + "$@" 9>&2 2>>"$DGIT_TEST_GNUPG_LOG" + rc=$? + if [ rc = 0 ]; then exit 0; fi + if [ "x$DGIT_TEST_BYHAND" != x ]; then + echo >&2 "BYHAND, not catting $DGIT_TEST_GNUPG_LOG" + else + echo >&2 "########################################" + echo >&2 "$DGIT_TEST_GNUPG_LOG" + cat >&2 "$DGIT_TEST_GNUPG_LOG" + echo >&2 "end of $DGIT_TEST_GNUPG_LOG" + fi + exit $rc + ' x \ + "$DGIT_TEST_TROOT"/tstunt/gpg-withagent "$@"