Use test -p to test for fifos, rather

than the (incorrect) test -f and the (inadequate) ls.  ls is
inadequate because on some hosts a buggy mv will create a file of
the wrong type (problem reported by Eric Blake).  Skip this test
if test -p doesn't work.
This commit is contained in:
Paul Eggert 2005-04-19 07:26:18 +00:00
parent f55ce3a2dc
commit a8f2520b15

View File

@ -27,6 +27,7 @@ mkdir $tmp || framework_failure=1
cd $tmp || framework_failure=1
rm -f $null || framework_failure=1
mknod $null p || framework_failure=1
test -p $null || framework_failure=1
mkdir -p $dir/a/b/c $dir/d/e/f || framework_failure=1
touch $dir/a/b/c/file1 $dir/d/e/f/file2 || framework_failure=1
@ -43,11 +44,10 @@ fi
fail=0
mv --verbose $null $dir $other_partition_tmpdir > out || fail=1
# Make sure the files are gone.
test -f $null && fail=1
test -p $null && fail=1
test -d $dir && fail=1
# Make sure they were moved.
# Since `test -e' is not portable, use `ls'.
ls $other_partition_tmpdir/$null > /dev/null || fail=1
test -p $other_partition_tmpdir/$null || fail=1
test -d $other_partition_tmpdir/$dir/a/b/c || fail=1
# POSIX says rename (A, B) can succeed if A and B are on different file systems,