diff options
author | Justus Winter <[email protected]> | 2017-01-05 16:00:36 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2017-01-05 16:00:36 +0000 |
commit | 4ded213698123a425393b89a800fda2a4ec5229d (patch) | |
tree | e2839830a8db85f6662830b859fbc520235dd74d | |
parent | g10: avoid warning when --disable-tofu (diff) | |
download | gnupg-4ded213698123a425393b89a800fda2a4ec5229d.tar.gz gnupg-4ded213698123a425393b89a800fda2a4ec5229d.zip |
tests: Fix macro.
* tests/openpgp/defs.scm (with-ephemeral-home-directory): Make
hygienic, use define-macro, do not change to the ephemeral home
directory.
* tests/gpgsm/setup.scm: Change to the ephemeral home directory.
* tests/openpgp/setup.scm: Likewise.
Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to '')
-rw-r--r-- | tests/gpgsm/setup.scm | 1 | ||||
-rw-r--r-- | tests/openpgp/defs.scm | 18 | ||||
-rwxr-xr-x | tests/openpgp/setup.scm | 1 |
3 files changed, 12 insertions, 8 deletions
diff --git a/tests/gpgsm/setup.scm b/tests/gpgsm/setup.scm index fdf277d10..91821a0f8 100644 --- a/tests/gpgsm/setup.scm +++ b/tests/gpgsm/setup.scm @@ -24,6 +24,7 @@ (error "Usage: setup.scm --create-tarball <file> ...")) (with-ephemeral-home-directory + (chdir (getenv "GNUPGHOME")) (create-gpgsmhome) (stop-agent) (call-check `(,(tool 'gpgtar) --create --output ,(car tarball) "."))) diff --git a/tests/openpgp/defs.scm b/tests/openpgp/defs.scm index 863d128ff..837e09691 100644 --- a/tests/openpgp/defs.scm +++ b/tests/openpgp/defs.scm @@ -222,14 +222,16 @@ ;; Evaluate a sequence of expressions with an ephemeral home ;; directory. -(macro (with-ephemeral-home-directory form) - `(let ((original-home-directory (getenv "GNUPGHOME"))) - (with-temporary-working-directory - (define ephemeral-home-directory (getcwd)) - (dynamic-wind - (lambda () (setenv "GNUPGHOME" ephemeral-home-directory #t)) - (lambda () ,@(cdr form)) - (lambda () (setenv "GNUPGHOME" original-home-directory #t)))))) +(define-macro (with-ephemeral-home-directory . expressions) + (let ((original-home-directory (gensym)) + (ephemeral-home-directory (gensym))) + `(let ((,original-home-directory (getenv "GNUPGHOME")) + (,ephemeral-home-directory (mkdtemp))) + (finally (unlink-recursively ,ephemeral-home-directory) + (dynamic-wind + (lambda () (setenv "GNUPGHOME" ,ephemeral-home-directory #t)) + (lambda () ,@expressions) + (lambda () (setenv "GNUPGHOME" ,original-home-directory #t))))))) ;; Call GPG to obtain the hash sums. Either specify an input file in ;; ARGS, or an string in INPUT. Returns a list of (<algo> diff --git a/tests/openpgp/setup.scm b/tests/openpgp/setup.scm index abe1157e8..d13799d90 100755 --- a/tests/openpgp/setup.scm +++ b/tests/openpgp/setup.scm @@ -23,6 +23,7 @@ (fail "Usage: setup.scm --create-tarball <file>")) (with-ephemeral-home-directory + (chdir (getenv "GNUPGHOME")) (create-gpghome) (create-legacy-gpghome) (stop-agent) |