aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-03-16 17:07:57 +0100
committerLudovic Courtès <ludo@gnu.org>2019-03-16 18:15:13 +0100
commitf0cc5e7e1e4c03af29c5d4855dc5962502c49147 (patch)
tree8ed975abe2ac957b165a7f32900c739949f01cf5 /tests
parent22f95e028f038cee342f455dfc55bd32b804907c (diff)
downloadguix-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.scm22
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)