chiark / gitweb /
test suite: gnupg: Run with a lock held
[dgit.git] / tests / tstunt / gpg-locked
1 #!/bin/sh
2 set -e
3
4 for attempt in '' ' ' exec; do
5
6 set +e
7 $attempt                                                \
8 $DGIT_TEST_REAL_GPG                                     \
9         --agent-program=$DGIT_STUNT_AGENT               \
10         "$@"
11 rc=$?
12 set -e
13
14 if [ $rc != 2 ]; then exit $rc; fi
15
16 echo >&2 "WARNING - GNUPG FAILED $rc - STUNT GNUPG $attempt $*"
17
18 sh -ec '
19         if [ "x$DGIT_GNUPG_STUNT_ERRLOG" != x ]; then
20                 exec >"$DGIT_GNUPG_STUNT_ERRLOG"
21         else
22                 exec 2>/dev/null
23         fi
24         exec >/dev/tty
25         printf "%s\n" "$*"
26 ' x "GNUPG WRAPPER - TROUBLE - $HOME $GNUPGHOME - FAILED $rc $attempt $*"
27
28 sleep 10
29
30 done
31
32 exit 127