aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/gpgsm/export.scm2
-rw-r--r--tests/gpgsm/setup.scm8
-rwxr-xr-xtests/openpgp/decrypt-session-key.scm2
-rwxr-xr-xtests/openpgp/decrypt-unwrap-verify.scm2
-rw-r--r--tests/openpgp/defs.scm12
-rwxr-xr-xtests/openpgp/setup.scm13
6 files changed, 20 insertions, 19 deletions
diff --git a/tests/gpgsm/export.scm b/tests/gpgsm/export.scm
index 1ee91e491..47fb06e20 100644
--- a/tests/gpgsm/export.scm
+++ b/tests/gpgsm/export.scm
@@ -25,7 +25,7 @@
(lambda (cert)
(lettmp (exported)
(call-check `(,@gpgsm --output ,exported --export ,cert::uid::CN))
- (with-ephemeral-home-directory
+ (with-ephemeral-home-directory setup-gpgsm-environment
(call-check `(,@gpgsm --import ,exported))
(assert (sm-have-public-key? cert)))))
(lambda (cert) cert::uid::CN)
diff --git a/tests/gpgsm/setup.scm b/tests/gpgsm/setup.scm
index 91821a0f8..aa1ab4132 100644
--- a/tests/gpgsm/setup.scm
+++ b/tests/gpgsm/setup.scm
@@ -23,8 +23,6 @@
(unless (and tarball (not (null? tarball)))
(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) ".")))
+(setenv "GNUPGHOME" (getcwd) #t)
+(create-gpgsmhome)
+(call-check `(,(tool 'gpgtar) --create --output ,(car tarball) "."))
diff --git a/tests/openpgp/decrypt-session-key.scm b/tests/openpgp/decrypt-session-key.scm
index 771b53da8..989ce304d 100755
--- a/tests/openpgp/decrypt-session-key.scm
+++ b/tests/openpgp/decrypt-session-key.scm
@@ -37,7 +37,7 @@
(lambda (name)
(let* ((source (in-srcdir (string-append name ".asc")))
(key (get-session-key source)))
- (with-ephemeral-home-directory
+ (with-ephemeral-home-directory setup-environment
(tr:do
(tr:open source)
(tr:gpg "" `(--yes --decrypt --override-session-key ,key))
diff --git a/tests/openpgp/decrypt-unwrap-verify.scm b/tests/openpgp/decrypt-unwrap-verify.scm
index 97a72e4c7..ef9a99a2c 100755
--- a/tests/openpgp/decrypt-unwrap-verify.scm
+++ b/tests/openpgp/decrypt-unwrap-verify.scm
@@ -35,7 +35,7 @@
;; Then, verify the signature with a clean working directory
;; containing only Steve's public key.
- (with-ephemeral-home-directory
+ (with-ephemeral-home-directory setup-environment
(call-check `(,@gpg --import ,steve's-key))
(call-check `(,@gpg --verify ,unwrapped)))))
'("encsig-2-keys-3" "encsig-2-keys-4")))
diff --git a/tests/openpgp/defs.scm b/tests/openpgp/defs.scm
index e8d06c048..4271ba04a 100644
--- a/tests/openpgp/defs.scm
+++ b/tests/openpgp/defs.scm
@@ -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)))))))
diff --git a/tests/openpgp/setup.scm b/tests/openpgp/setup.scm
index 4b3bfcb41..a7d14e71c 100755
--- a/tests/openpgp/setup.scm
+++ b/tests/openpgp/setup.scm
@@ -40,10 +40,9 @@
'(gpgconf gpg gpg-agent scdaemon gpgsm dirmngr gpg-connect-agent
gpg-preset-passphrase gpgtar pinentry)))
-(with-ephemeral-home-directory
- (chdir (getenv "GNUPGHOME"))
- (create-gpghome)
- (start-agent)
- (create-legacy-gpghome)
- (stop-agent)
- (call-check `(,(tool 'gpgtar) --create --output ,(cadr *args*) ".")))
+(setenv "GNUPGHOME" (getcwd) #t)
+(create-gpghome)
+(start-agent)
+(create-legacy-gpghome)
+(stop-agent)
+(call-check `(,(tool 'gpgtar) --create --output ,(cadr *args*) "."))