This is the patch that stemmed from [1]. I tried to keep it simple and not noisy, alhtough it breaks the && chain, it needs to be run right before the --import command. I also decided to drop the switch chain in case that regression was to be introduced in the future in other versions (hopefully gpgconf goes nowhere by then). I was able to test this on debian oldstable/stable and arch. Cheers! -Santiago. [1] https://public-inbox.org/git/xmqqvampmnmv.fsf@gitster.mtv.corp.google.com/ On Thu, Jul 20, 2017 at 12:58:14PM -0400, santiago@nyu.edu wrote: > From: Santiago Torres > > When running gpg-relevant tests, a gpg-daemon is spawned for each > GNUPGHOME used. This daemon may stay running after the test and cache > file descriptors for the trash directories, even after the trash > directory is removed. This leads to ENOENT errors when attempting to > create files if tests are run multiple times. > > Add a cleanup script to force flushing the gpg-agent for that GNUPGHOME > (if any) before setting up the GPG relevant-environment. > > Helped-by: Junio C Hamano > Signed-off-by: Santiago Torres > --- > t/lib-gpg.sh | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/t/lib-gpg.sh b/t/lib-gpg.sh > index ec2aa8f68..7a6c7ee6f 100755 > --- a/t/lib-gpg.sh > +++ b/t/lib-gpg.sh > @@ -31,6 +31,7 @@ then > chmod 0700 ./gpghome && > GNUPGHOME="$(pwd)/gpghome" && > export GNUPGHOME && > + gpgconf --kill gpg-agent 2>&1 >/dev/null > gpg --homedir "${GNUPGHOME}" 2>/dev/null --import \ > "$TEST_DIRECTORY"/lib-gpg/keyring.gpg && > gpg --homedir "${GNUPGHOME}" 2>/dev/null --import-ownertrust \ > -- > 2.13.3 >