X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Ftstunt%2Fgpg-locked;h=f2351b4f103ea7f1e73a2fccb1937980b6bcbb52;hb=e5bae1c8621bb50925404c3ba70c83b037a5b74f;hp=892b9c8cf446b255a221276463553c88fc83a0f7;hpb=640602b53ec3a387aef776d6a727118e1784f6d7;p=dgit.git diff --git a/tests/tstunt/gpg-locked b/tests/tstunt/gpg-locked index 892b9c8c..f2351b4f 100755 --- a/tests/tstunt/gpg-locked +++ b/tests/tstunt/gpg-locked @@ -3,6 +3,20 @@ set -e for attempt in '' ' ' exec; do +case "$*" in +*" +--batch +--import") + # ^ apt-key's invocation + if [ "x$stdin_tmp" = x ]; then + stdin_tmp="$GNUPGHOME"/dgit-stdin-tmp + cat >$stdin_tmp + stdin_tmp_bytes=$(wc -c <$stdin_tmp) + fi + exec <$stdin_tmp + ;; +esac + set +e $attempt \ $DGIT_TEST_REAL_GPG \ @@ -13,19 +27,22 @@ 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 +echo >&2 "WARNING - GNUPG FAILED $rc - STUNT GNUPG $attempt $stdin_tmp_bytes $*" + +if [ "$stdin_tmp_bytes" = 0 ]; then + sleep 5 +else + 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 $stdin_tmp_bytes $*" ||: + sleep 10 +fi done