aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2016-07-07 14:18:10 +0000
committerJustus Winter <[email protected]>2016-07-07 14:18:10 +0000
commit2f61aa0ff11b194d20307751ab686c87cd47dd56 (patch)
tree1cbfefe68e09d55748f62efaac24c4f0e28dc454 /tests
parentdoc: Escape file names in generated macros. (diff)
downloadgnupg-2f61aa0ff11b194d20307751ab686c87cd47dd56.tar.gz
gnupg-2f61aa0ff11b194d20307751ab686c87cd47dd56.zip
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 <[email protected]>
Diffstat (limited to 'tests')
-rw-r--r--tests/gpgscm/tests.scm9
-rwxr-xr-xtests/openpgp/version.scm5
2 files changed, 8 insertions, 6 deletions
diff --git a/tests/gpgscm/tests.scm b/tests/gpgscm/tests.scm
index 272881757..c32e2fa5e 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 dbcb484e8..57efb937b 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 `(,@GPG --version))))
-
-;; fixme: check that the output is as expected
+(assert (string-contains? (call-check `(,@GPG --version))
+ "gpg (GnuPG) 2."))