summaryrefslogtreecommitdiff
path: root/tests/mv/leak-fd
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mv/leak-fd')
-rwxr-xr-xtests/mv/leak-fd43
1 files changed, 12 insertions, 31 deletions
diff --git a/tests/mv/leak-fd b/tests/mv/leak-fd
index 394c6c92d..515ad20fb 100755
--- a/tests/mv/leak-fd
+++ b/tests/mv/leak-fd
@@ -2,7 +2,7 @@
# Exercise mv's file-descriptor-leak bug, reported against coreutils-5.2.1
# and fixed (properly) on 2004-10-21.
-# Copyright (C) 2004, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2006-2007 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,35 +16,21 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-# This test is relatively expensive, and might well evoke a
-# framework-failure on systems with a smaller command-line length
# limit so don't run it by default.
-. $srcdir/../expensive
if test "$VERBOSE" = yes; then
set -x
mv --version
fi
-. $srcdir/../other-fs-tmpdir
-. $srcdir/../envvar-check
-PRIV_CHECK_ARG=require-non-root . $srcdir/../priv-check
-
-pwd=`pwd`
-t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$
-trap 'status=$?; cd "$pwd" && chmod -R u+rwx $t0 && rm -rf $t0 && exit $status' 0
-trap '(exit $?); exit $?' 1 2 13 15
-
-if test -z "$other_partition_tmpdir"; then
- (exit 77); exit 77
-fi
-t0="$t0 $other_partition_tmpdir"
+# This test is relatively expensive, and might well evoke a
+# framework-failure on systems with a smaller command-line length
+. $srcdir/../expensive
-framework_failure=0
-mkdir -p $tmp || framework_failure=1
-cd $tmp || framework_failure=1
+PRIV_CHECK_ARG=require-non-root . $srcdir/../priv-check
+. $srcdir/../test-lib.sh
+cleanup_() { rm -rf "$other_partition_tmpdir"; }
+. "$abs_top_srcdir/tests/other-fs-tmpdir"
b="0 1 2 3 4 5 6 7 8 9
a b c d e f g h i j k l m n o p q r s t u v w x y z
@@ -56,16 +42,11 @@ for i in `echo $b`; do
echo $i$j
done
done > .dirs
-mkdir `cat .dirs` || framework_failure=1
+mkdir `cat .dirs` || framework_failure
sed 's,$,/f,' .dirs | xargs touch
last_file=`tail -n1 .dirs`/f
-test -f $last_file || framework_failure=1
-
-if test $framework_failure = 1; then
- echo "$0: failure in testing framework" 1>&2
- (exit 1); exit 1
-fi
+test -f $last_file || framework_failure
fail=0
@@ -73,7 +54,7 @@ mv * $other_partition_tmpdir || fail=1
test -f $last_file/f && fail=1
rm .dirs
-ls -A > ../out || fail=1
-test -s ../out && fail=1
+out=$(ls -A) || fail=1
+test -z "$out" || fail=1
(exit $fail); exit $fail