gpg-agent started deleting its socket file on shutdown, and this tickled an
ugly behavior in removeDirectoryRecursive,
https://github.com/haskell/directory/issues/60
Running removeDirectoryRecursive again on exception avoids the problem.
Thanks, James MacMahon.
* Assistant, repair: Improved filtering out of git fsck lines about
duplicate file entries in tree objects.
+ * test: Deal with gpg-agent behavior change that broke the test suite.
-- Joey Hess <id@joeyh.name> Mon, 17 Oct 2016 12:46:54 -0400
[testSecretKey, testKey]
return dir
- cleanup orig tmpdir = removeDirectoryRecursive tmpdir >> reset orig
+ cleanup orig tmpdir = do
+ removeDirectoryRecursive tmpdir
+ -- gpg-agent may be shutting down at the same time
+ -- and may delete its socket at the same time as
+ -- we're trying to, causing an exception. Retrying
+ -- will deal with this race.
+ `catchIO` (\_ -> removeDirectoryRecursive tmpdir)
+ reset orig
reset (Just v) = setEnv var v True
reset _ = unsetEnv var