diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-03-16 17:07:57 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-03-16 18:15:13 +0100 |
commit | f0cc5e7e1e4c03af29c5d4855dc5962502c49147 (patch) | |
tree | 8ed975abe2ac957b165a7f32900c739949f01cf5 /tests | |
parent | 22f95e028f038cee342f455dfc55bd32b804907c (diff) | |
download | guix-f0cc5e7e1e4c03af29c5d4855dc5962502c49147.tar guix-f0cc5e7e1e4c03af29c5d4855dc5962502c49147.tar.gz |
booloader: Add 'invoke/quiet'.
* gnu/build/bootloader.scm (G_): New macro.
(open-pipe-with-stderr, invoke/quiet): New procedures.
* tests/build-utils.scm ("invoke/quiet, success")
("invoke/quiet, failure")
("invoke/quiet, failure, message on stderr"): New tests.
* po/guix/POTFILES.in: Add bootloader.scm.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/build-utils.scm | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/tests/build-utils.scm b/tests/build-utils.scm index 03216f9a35..46fe8ea2c0 100644 --- a/tests/build-utils.scm +++ b/tests/build-utils.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2015, 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2015, 2016, 2019 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,11 +20,14 @@ (define-module (test-build-utils) #:use-module (guix tests) #:use-module (guix build utils) + #:use-module ((gnu build bootloader) + #:select (invoke/quiet)) #:use-module ((guix utils) #:select (%current-system call-with-temporary-directory)) #:use-module (gnu packages) #:use-module (gnu packages bootstrap) #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:use-module (srfi srfi-64) #:use-module (rnrs io ports) #:use-module (ice-9 popen)) @@ -123,5 +126,22 @@ (and (zero? (close-pipe pipe)) str))))))) +(test-assert "invoke/quiet, success" + (begin + (invoke/quiet "true") + #t)) + +(test-assert "invoke/quiet, failure" + (guard (c ((message-condition? c) + (string-contains (condition-message c) "This is an error."))) + (invoke/quiet "sh" "-c" "echo This is an error. ; false") + #f)) + +(test-assert "invoke/quiet, failure, message on stderr" + (guard (c ((message-condition? c) + (string-contains (condition-message c) + "This is another error."))) + (invoke/quiet "sh" "-c" "echo This is another error. >&2 ; false") + #f)) (test-end) |