]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
Don't assume that >&- works. Add a /dev/full test.
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 1 Jun 2006 07:10:15 +0000 (07:10 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 1 Jun 2006 07:10:15 +0000 (07:10 +0000)
tests/misc/close-stdout

index c70b7fc5426b4c0e2e0c497df8af196a22a2c6b5..42cd92c650ee592d88f81c8252b915ab71e8dfff 100755 (executable)
@@ -42,9 +42,19 @@ sleep 0 >&- || fail=1
 $pwd/../../src/true >&- || fail=1
 $pwd/../../src/printf '' >&- || fail=1
 
-# Ensure these fail, because stdout is closed and they *do*
-# generate output.
-$pwd/../../src/printf 'foo' >&- 2>/dev/null && fail=1
-cp --verbose a b >&- 2>/dev/null && fail=1
+# If >&- works, ensure these fail, because stdout is closed and they
+# *do* generate output.  >&- apparently does not work in HP-UX 11.23.
+# This test is ineffective unless /dev/stdout also works.
+if $pwd/../../src/test -w /dev/stdout >/dev/null &&
+   $pwd/../../src/test ! -w /dev/stdout >&-; then
+  $pwd/../../src/printf 'foo' >&- 2>/dev/null && fail=1
+  cp --verbose a b >&- 2>/dev/null && fail=1
+fi
+
+# Likewise for /dev/full, if /dev/full works.
+if test -w /dev/full && test -c /dev/full; then
+  $pwd/../../src/printf 'foo' >/dev/full 2>/dev/null && fail=1
+  cp --verbose a b >/dev/full 2>/dev/null && fail=1
+fi
 
 (exit $fail); exit $fail