From 0d673eadca425d63c7367372575058324e9ecc91 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Tue, 15 Oct 2013 21:14:04 -0400 Subject: librechroot: (bugfix) Use the correct exit status if stdout isn't a TTY. Because of the work-around for systemd-nspawn's buggy I/O, it was discarding the exit status if stdout wasn't a TTY. My work-around for *this* is to set -o pipefail. --- test/librechroot-test.sh | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test') diff --git a/test/librechroot-test.sh b/test/librechroot-test.sh index 90d0adc..8efba67 100644 --- a/test/librechroot-test.sh +++ b/test/librechroot-test.sh @@ -31,6 +31,15 @@ it_cleans_the_local_repo_correctly() { # TODO: inspect /repo/* more } +it_respects_exit_status_if_out_isnt_a_tty() ( + require network sudo || return 0 + set -o pipefail + libremessages msg 'Creating a chroot, may take a few minutes' &>/dev/tty + r=0 + { testsudo librechroot run exit 3 | cat; } || r=$? + [[ $r == 3 ]] +) + it_displays_help_as_normal_user() { rm -rf "$XDG_CONFIG_HOME" LANG=C librechroot help >$tmpdir/stdout 2>$tmpdir/stderr -- cgit v1.2.2