X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Ftstunt%2Fgpg;h=4214b4a169f9ea632ac896bc282bf499bd9edebd;hb=e5bae1c8621bb50925404c3ba70c83b037a5b74f;hp=892b9c8cf446b255a221276463553c88fc83a0f7;hpb=26e97d328b4c4e8d7b8a30120ac2a8dd51295c91;p=dgit.git diff --git a/tests/tstunt/gpg b/tests/tstunt/gpg index 892b9c8c..4214b4a1 100755 --- a/tests/tstunt/gpg +++ b/tests/tstunt/gpg @@ -1,32 +1,22 @@ #!/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 dumping $DGIT_TEST_GNUPG_LOG" + else + echo >&2 "########################################" + echo >&2 "$DGIT_TEST_GNUPG_LOG" + sed '\''s/^/\[gnupg-workarounds] /'\'' >&2 \ + "$DGIT_TEST_GNUPG_LOG" + echo >&2 "end of $DGIT_TEST_GNUPG_LOG" + echo >&2 "########################################" + fi + exit $rc + ' x \ + "$DGIT_TEST_TROOT"/tstunt/gpg-withagent "$@"