]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
tests: fix false failure in nohup.sh in non tty builds
authorPádraig Brady <P@draigBrady.com>
Wed, 5 Mar 2014 15:14:07 +0000 (15:14 +0000)
committerPádraig Brady <P@draigBrady.com>
Wed, 5 Mar 2014 18:08:17 +0000 (18:08 +0000)
* tests/misc/nohup.sh: When running tests without a controlling tty,
an exec failure is triggered in a subshell, which causes POSIX
shells to immediately exit the subshell.  This was brought
to notice by the newly conforming bash 4.3.
Fixes http:/bugs.gnu.org/16940

tests/misc/nohup.sh

index 6d2b5153092a46a03b13ad731057073d36bedb7e..2328b43e2e242a8233958122a420301fe5b9af00 100755 (executable)
@@ -63,6 +63,11 @@ rm -f nohup.out err
 # to stderr must be fatal.  Requires stdout to be terminal.
 if test -w /dev/full && test -c /dev/full; then
 (
+  # POSIX shells immediately exit the subshell on exec error.
+  # So check we can write to /dev/tty before the exec, which
+  # isn't possible if we've no controlling tty for example.
+  test -c /dev/tty && >/dev/tty || exit 0
+
   exec >/dev/tty
   test -t 1 || exit 0
   nohup echo hi 2> /dev/full