1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-20 10:51:48 +02:00

Don't assume that >&- works. Add a /dev/full test.

This commit is contained in:
Paul Eggert
2006-06-01 07:10:15 +00:00
parent 5d3b41a84a
commit 42314d3303

View File

@@ -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