mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
tests: Fix setup of ephemeral home directories.
* tests/openpgp/defs.scm (with-ephemeral-home-directory): Create configuration files when we enter the context. * tests/openpgp/setup.scm: Do not use an ephemeral home directory. Tests should always use the cwd. * tests/gpgsm/setup.scm: Likewise. * tests/gpgsm/export.scm: Add explicit constructor function. * tests/openpgp/decrypt-session-key.scm: Likewise. * tests/openpgp/decrypt-unwrap-verify.scm: Likewise. -- Previously, ephemeral homedirectories lacked a configuration, hence GnuPG tried to start backend daemons using their installed locations. Fix this by explicitly creating a suitable configuration. GnuPG-bug-id: 3047 Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
parent
6261611d37
commit
32b75fb774
6 changed files with 20 additions and 19 deletions
|
@ -289,14 +289,18 @@
|
|||
|
||||
;; Evaluate a sequence of expressions with an ephemeral home
|
||||
;; directory.
|
||||
(define-macro (with-ephemeral-home-directory . expressions)
|
||||
(define-macro (with-ephemeral-home-directory setup-fn . expressions)
|
||||
(let ((original-home-directory (gensym))
|
||||
(ephemeral-home-directory (gensym)))
|
||||
(ephemeral-home-directory (gensym))
|
||||
(setup (gensym)))
|
||||
`(let ((,original-home-directory (getenv "GNUPGHOME"))
|
||||
(,ephemeral-home-directory (mkdtemp)))
|
||||
(,ephemeral-home-directory (mkdtemp))
|
||||
(,setup (delay (,setup-fn))))
|
||||
(finally (unlink-recursively ,ephemeral-home-directory)
|
||||
(dynamic-wind
|
||||
(lambda () (setenv "GNUPGHOME" ,ephemeral-home-directory #t))
|
||||
(lambda ()
|
||||
(force ,setup)
|
||||
(setenv "GNUPGHOME" ,ephemeral-home-directory #t))
|
||||
(lambda () ,@expressions)
|
||||
(lambda () (setenv "GNUPGHOME" ,original-home-directory #t)))))))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue