package-test.el should no longer fail during clean up.
* Previously a delete-directories call raced with the gpg agent's own
cleanup process (presumably triggered by the first deletion of one of
the agent's sockets). As a result, it looks like the agent might
delete one of its sockets after delete-directories had decided to
delete the socket, but before it made the attempt, causing an
exception.
* To fix the problem, explicitly ask gpg-connect-agent to kill the agent
before attempting to delete the gnupg home directory, and then delete
via "rm -rf" to ignore any vanishing files.
Gbp-Pq: Name 0007-Kill-gpg-agent-in-package-test.el-to-avoid-a-race.patch
(delete-file
(expand-file-name f package-test-archive-upload-base))))
(delete-directory package-test-archive-upload-base))
+ (call-process "gpg-connect-agent" nil nil nil
+ "--homedir" (concat package-test-user-dir "/gnupg")
+ "--no-autostart"
+ "killagent" "/bye")
+ ;; Call "rm -rf" instead of delete-directory so that it won't
+ ;; choke if the gpg-agent sockets disappear during the
+ ;; recursive traversal.
+ (call-process "rm" nil nil nil "-r" package-test-user-dir)
(when (and (boundp 'package-test-archive-upload-base)
(file-directory-p package-test-archive-upload-base))