(defun epg-config--make-gpg-configuration (program)
(let (config groups type args)
(with-temp-buffer
- (apply #'call-process program nil
- (list t (and (boundp 'trace-level) (> trace-level 0))) nil
+ (apply #'call-process program nil (list t nil) nil
(append (if epg-gpg-home-directory
(list "--homedir" epg-gpg-home-directory))
'("--with-colons" "--list-config")))
- (when (and (boundp 'trace-level) (> trace-level 0))
- (trace-values (concat "gpg output:\n" (buffer-string))))
(goto-char (point-min))
(while (re-search-forward "^cfg:\\([^:]+\\):\\(.*\\)" nil t)
(setq type (intern (match-string 1))
(require 'ert)
(require 'epg)
-(require 'trace)
(defvar epg-tests-context nil)
"2.0")
prog-alist))
-(defvar epg-tests--trace nil)
-
(defun epg-tests-find-usable-gpg-configuration
(&optional require-passphrase require-public-key)
;; Clear config cache because we may be using a different
;; program-alist. We do want to update the cache, so that
;; `epg-make-context' can use our result.
(setq epg--configurations nil)
- ;; Tracing for Bug#23561, but only do it once per run.
- (when epg-tests--trace
- (dolist (fun '(epg-find-configuration
- executable-find
- epg-check-configuration
- epg-config--make-gpg-configuration))
- (trace-function-background fun))
- (setq epg-tests--trace nil))
- (prog1 (unwind-protect
- (epg-find-configuration
- 'OpenPGP nil
- ;; The symmetric operations fail on Hydra
- ;; with gpg 2.0.
- (if (or (not require-passphrase) require-public-key)
- epg-tests--config-program-alist))
- (untrace-all))
- (when (get-buffer "*trace-output*")
- (princ (with-current-buffer "*trace-output*" (prog1 (buffer-string)
- (erase-buffer)))
- #'external-debugging-output))))
+ (epg-find-configuration 'OpenPGP nil
+ ;; The symmetric operations fail on Hydra
+ ;; with gpg 2.0.
+ (if (or (not require-passphrase) require-public-key)
+ epg-tests--config-program-alist)))
(defun epg-tests-passphrase-callback (_c _k _d)
;; Need to create a copy here, since the string will be wiped out
&rest body)
"Set up temporary locations and variables for testing."
(declare (indent 1) (debug (sexp body)))
- `(let* ((epg-debug epg-tests--trace)
- (epg-tests-home-directory (make-temp-file "epg-tests-homedir" t))
+ `(let* ((epg-tests-home-directory (make-temp-file "epg-tests-homedir" t))
(process-environment
(append
(list "GPG_AGENT_INFO"
(make-local-variable 'epg-tests-context)
(setq epg-tests-context context)
,@body))
- (when epg-debug-buffer
- (princ (with-current-buffer epg-debug-buffer
- (prog1 (buffer-string) (erase-buffer)))
- #'external-debugging-output))
(when (file-directory-p epg-tests-home-directory)
(delete-directory epg-tests-home-directory t)))))
(ert-deftest epg-decrypt-1 ()
- (setq epg-tests--trace t)
(with-epg-tests (:require-passphrase t)
(should (equal "test"
(epg-decrypt-string epg-tests-context "\
-----END PGP MESSAGE-----")))))
(ert-deftest epg-roundtrip-1 ()
- (setq epg-tests--trace t)
(with-epg-tests (:require-passphrase t)
(let ((cipher (epg-encrypt-string epg-tests-context "symmetric" nil)))
(should (equal "symmetric"