[Pkg-gnupg-commit] [gnupg2] 124/160: gpgscm: Capture output of spawned processes.
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Fri Jul 15 09:36:43 UTC 2016
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch upstream
in repository gnupg2.
commit 2f61aa0ff11b194d20307751ab686c87cd47dd56
Author: Justus Winter <justus at g10code.com>
Date: Thu Jul 7 16:18:10 2016 +0200
gpgscm: Capture output of spawned processes.
* tests/gpgscm/tests.scm (call-check): Capture stdout and stderr, and
return stdout if the child exited successfully, or include stderr in
the error.
* tests/openpgp/version.scm: Demonstrate this by checking the stdout.
Signed-off-by: Justus Winter <justus at g10code.com>
---
tests/gpgscm/tests.scm | 9 ++++++---
tests/openpgp/version.scm | 5 ++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/tests/gpgscm/tests.scm b/tests/gpgscm/tests.scm
index 2728817..c32e2fa 100644
--- a/tests/gpgscm/tests.scm
+++ b/tests/gpgscm/tests.scm
@@ -94,9 +94,6 @@
CLOSED_FD
(if (< *verbose* 0) STDOUT_FILENO CLOSED_FD)
(if (< *verbose* 0) STDERR_FILENO CLOSED_FD)))
-(define (call-check what)
- (if (not (= 0 (call what)))
- (throw (list what "failed"))))
;; Accessor functions for the results of 'spawn-process'.
(define :stdin car)
@@ -119,6 +116,12 @@
;; ':stderr' can also be used.
(define :retcode car)
+(define (call-check what)
+ (let ((result (call-with-io what "")))
+ (if (= 0 (:retcode result))
+ (:stdout result)
+ (throw (list what "failed:" (:stderr result))))))
+
(define (call-popen command input-string)
(let ((result (call-with-io command input-string)))
(if (= 0 (:retcode result))
diff --git a/tests/openpgp/version.scm b/tests/openpgp/version.scm
index dbcb484..57efb93 100755
--- a/tests/openpgp/version.scm
+++ b/tests/openpgp/version.scm
@@ -20,6 +20,5 @@
(load (with-path "defs.scm"))
(info "Printing the GPG version")
-(assert (= 0 (call `(, at GPG --version))))
-
-;; fixme: check that the output is as expected
+(assert (string-contains? (call-check `(, at GPG --version))
+ "gpg (GnuPG) 2."))
--
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