diff options
author | Justus Winter <[email protected]> | 2016-12-20 15:24:12 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2016-12-20 15:49:05 +0000 |
commit | c067a012c764218b94ce8de2914615a895a75f3e (patch) | |
tree | 39c6d4fb93bd631e8351462349697b4887726d31 /tests/openpgp/defs.scm | |
parent | tests: Move argument parser. (diff) | |
download | gnupg-c067a012c764218b94ce8de2914615a895a75f3e.tar.gz gnupg-c067a012c764218b94ce8de2914615a895a75f3e.zip |
tests: Add macro managing ephemeral home directories.
* tests/openpgp/defs.scm (with-ephemeral-home-directory): New macro.
* tests/openpgp/setup.scm: Use the new macro.
Diffstat (limited to '')
-rw-r--r-- | tests/openpgp/defs.scm | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/openpgp/defs.scm b/tests/openpgp/defs.scm index 8111f0fe5..3280d7cd4 100644 --- a/tests/openpgp/defs.scm +++ b/tests/openpgp/defs.scm @@ -200,6 +200,17 @@ ;; GnuPG helper. ;; +;; 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)))))) + ;; Call GPG to obtain the hash sums. Either specify an input file in ;; ARGS, or an string in INPUT. Returns a list of (<algo> ;; "<hashsum>") lists. |