diff --git a/test/Makefile.in b/test/Makefile.in index 0bc893bc0c6..6070932508d 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -169,6 +169,7 @@ WRITE_LOG = > $@ 2>&1 || { STAT=$$?; cat $@; exit $$STAT; } ifdef EMACS_HYDRA_CI ## On Hydra, always show logs for certain problematic tests. lisp/net/tramp-tests.log \ +lisp/epg-tests.log \ : WRITE_LOG = 2>&1 | tee $@ endif diff --git a/test/lisp/epg-tests.el b/test/lisp/epg-tests.el index 7efe04bfc00..361ba8fc0c2 100644 --- a/test/lisp/epg-tests.el +++ b/test/lisp/epg-tests.el @@ -23,6 +23,7 @@ (require 'ert) (require 'epg) +(require 'trace) (defvar epg-tests-context nil) @@ -42,7 +43,19 @@ prog-alist)) (defun epg-tests-find-usable-gpg-configuration (&optional _require-passphrase) - (epg-find-configuration 'OpenPGP 'no-cache epg-tests--config-program-alist)) + ;; Tracing for Bug#23561, but only do it once per run. + (if (get-buffer "*trace-output*") + (epg-find-configuration 'OpenPGP 'no-cache epg-tests--config-program-alist) + (dolist (fun '(epg-find-configuration + executable-find + epg-check-configuration + epg-config--make-gpg-configuration)) + (trace-function-background fun)) + (prog1 (unwind-protect + (epg-find-configuration 'OpenPGP 'no-cache epg-tests--config-program-alist) + (untrace-all)) + (princ (with-current-buffer "*trace-output*" (buffer-string)) + #'external-debugging-output)))) (defun epg-tests-passphrase-callback (_c _k _d) ;; Need to create a copy here, since the string will be wiped out