From 13672ec3211a5a77caf16dc24b83100d57e2a2ec Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Fri, 17 Jun 2011 09:02:09 +0200 Subject: tests: make init.sh's warn_ emit to both the tty and the log file * tests/init.sh (warn_): When $stderr_fileno_ != 2, emit the diagnostic to both the tty and the log file. --- tests/init.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/init.sh b/tests/init.sh index 5f06b5e0a..d7a5d8347 100644 --- a/tests/init.sh +++ b/tests/init.sh @@ -75,8 +75,12 @@ Exit () { set +e; (exit $1); exit $1; } : ${stderr_fileno_=2} # Call w2_ only via warn_, since correct expansion of "$*" depends on -# IFS starting with ' '. -w2_ () { printf '%s\n' "$*" 1>&$stderr_fileno_ ; } +# IFS starting with ' '. Always write the full diagnostic to stderr. +# When stderr_fileno_ is not 2, also emit the first line of the +# diagnostic to that file descriptor. +w2_ () { printf '%s\n' "$*" >&2 + test $stderr_fileno_ = 2 \ + || { printf '%s\n' "$*" | head -1 >&$stderr_fileno_ ; } ; } warn_ () { # If IFS does not start with ' ', set it and emit the warning in a subshell. -- cgit v1.2.3-54-g00ecf