[Pkg-gnupg-commit] [gnupg2] 48/132: tests: Move common functionality.
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Wed May 17 03:07:41 UTC 2017
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch experimental
in repository gnupg2.
commit ccd2187212c12b84c86a10fd4417a16536243179
Author: Justus Winter <justus at g10code.com>
Date: Tue Apr 11 10:43:52 2017 +0200
tests: Move common functionality.
* tests/openpgp/defs.scm (with-home-directory,
with-ephemeral-home-directory): Move...
* tests/gpgscm/gnupg.scm: ... to this new file.
* tests/gpgscm/main.c (main): Load the new file.
Signed-off-by: Justus Winter <justus at g10code.com>
---
tests/gpgscm/gnupg.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
tests/gpgscm/main.c | 2 ++
tests/openpgp/defs.scm | 26 --------------------------
3 files changed, 46 insertions(+), 26 deletions(-)
diff --git a/tests/gpgscm/gnupg.scm b/tests/gpgscm/gnupg.scm
new file mode 100644
index 0000000..5fcf9fd
--- /dev/null
+++ b/tests/gpgscm/gnupg.scm
@@ -0,0 +1,44 @@
+;; Common definitions for executing gpg and related tools.
+;;
+;; Copyright (C) 2016, 2017 g10 Code GmbH
+;;
+;; This file is part of GnuPG.
+;;
+;; GnuPG is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; GnuPG is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program; if not, see <http://www.gnu.org/licenses/>.
+
+;; Evaluate a sequence of expressions with the given home directory.
+(define-macro (with-home-directory gnupghome . expressions)
+ (let ((original-home-directory (gensym)))
+ `(let ((,original-home-directory (getenv "GNUPGHOME")))
+ (dynamic-wind
+ (lambda () (setenv "GNUPGHOME" ,gnupghome #t))
+ (lambda () , at expressions)
+ (lambda () (setenv "GNUPGHOME" ,original-home-directory #t))))))
+
+;; Evaluate a sequence of expressions with an ephemeral home
+;; directory.
+(define-macro (with-ephemeral-home-directory setup-fn . expressions)
+ (let ((original-home-directory (gensym))
+ (ephemeral-home-directory (gensym))
+ (setup (gensym)))
+ `(let ((,original-home-directory (getenv "GNUPGHOME"))
+ (,ephemeral-home-directory (mkdtemp))
+ (,setup (delay (,setup-fn))))
+ (finally (unlink-recursively ,ephemeral-home-directory)
+ (dynamic-wind
+ (lambda ()
+ (setenv "GNUPGHOME" ,ephemeral-home-directory #t)
+ (with-working-directory ,ephemeral-home-directory (force ,setup)))
+ (lambda () , at expressions)
+ (lambda () (setenv "GNUPGHOME" ,original-home-directory #t)))))))
diff --git a/tests/gpgscm/main.c b/tests/gpgscm/main.c
index 79072a5..5e04d97 100644
--- a/tests/gpgscm/main.c
+++ b/tests/gpgscm/main.c
@@ -314,6 +314,8 @@ main (int argc, char **argv)
err = load (sc, "repl.scm", 0, 1);
if (! err)
err = load (sc, "tests.scm", 0, 1);
+ if (! err)
+ err = load (sc, "gnupg.scm", 0, 1);
if (err)
{
fprintf (stderr, "Error initializing gpgscm: %s.\n",
diff --git a/tests/openpgp/defs.scm b/tests/openpgp/defs.scm
index 29eb775..cb22de7 100644
--- a/tests/openpgp/defs.scm
+++ b/tests/openpgp/defs.scm
@@ -280,32 +280,6 @@
;; GnuPG helper.
;;
-;; Evaluate a sequence of expressions with the given home directory.
-(define-macro (with-home-directory gnupghome . expressions)
- (let ((original-home-directory (gensym)))
- `(let ((,original-home-directory (getenv "GNUPGHOME")))
- (dynamic-wind
- (lambda () (setenv "GNUPGHOME" ,gnupghome #t))
- (lambda () , at expressions)
- (lambda () (setenv "GNUPGHOME" ,original-home-directory #t))))))
-
-;; Evaluate a sequence of expressions with an ephemeral home
-;; directory.
-(define-macro (with-ephemeral-home-directory setup-fn . expressions)
- (let ((original-home-directory (gensym))
- (ephemeral-home-directory (gensym))
- (setup (gensym)))
- `(let ((,original-home-directory (getenv "GNUPGHOME"))
- (,ephemeral-home-directory (mkdtemp))
- (,setup (delay (,setup-fn))))
- (finally (unlink-recursively ,ephemeral-home-directory)
- (dynamic-wind
- (lambda ()
- (setenv "GNUPGHOME" ,ephemeral-home-directory #t)
- (with-working-directory ,ephemeral-home-directory (force ,setup)))
- (lambda () , at 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>
;; "<hashsum>") lists.
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git
More information about the Pkg-gnupg-commit
mailing list