aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2017-01-05 16:00:36 +0000
committerJustus Winter <[email protected]>2017-01-05 16:00:36 +0000
commit4ded213698123a425393b89a800fda2a4ec5229d (patch)
treee2839830a8db85f6662830b859fbc520235dd74d
parentg10: avoid warning when --disable-tofu (diff)
downloadgnupg-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.scm1
-rw-r--r--tests/openpgp/defs.scm18
-rwxr-xr-xtests/openpgp/setup.scm1
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)