From b6ef652e50f49e55871c5d08c43ee250950f1cbb Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 3 Dec 2010 11:08:48 -0800 Subject: tests: cleanup rm -rf fails under NFS This problem was observed on RHEL 5.5 x86-64 when running as a client of a NetApp FAS2050. * tests/cp/cp-mv-backup: Don't leave a file descriptor open to a file in a directory that will be cleaned up with "rm -rf". Under NFS, when the rm unlinks that file, it is instead renamed to .nfsXXXX and then rm cannot remove the parent directory, and the test fails. * tests/cp/same-file: Likewise. --- tests/cp/cp-mv-backup | 4 +++- tests/cp/same-file | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/cp/cp-mv-backup b/tests/cp/cp-mv-backup index d77568575..a1b2efeb0 100755 --- a/tests/cp/cp-mv-backup +++ b/tests/cp/cp-mv-backup @@ -28,7 +28,7 @@ umask 022 actual=actual expected=expected -exec 1> $actual +exec 3>&1 1> $actual for prog in cp mv; do for initial_files in 'x' 'x y' 'x y y~' 'x y y.~1~' 'x y y~ y.~1~'; do @@ -85,6 +85,8 @@ EOF sed 's/: x/:/' $expected-tmp |cat $expected-tmp - > $expected +exec 1>&3 3>&- + compare $expected $actual || fail=1 Exit $fail diff --git a/tests/cp/same-file b/tests/cp/same-file index 873ac2d40..7a8fe681d 100755 --- a/tests/cp/same-file +++ b/tests/cp/same-file @@ -42,7 +42,7 @@ test $hard_link_to_symlink_does_the_deref = yes \ actual=actual-$$ expected=expected-$$ -exec 1> $actual +exec 3>&1 1> $actual # FIXME: This should be bigger: like more than 8k contents=XYZ @@ -216,6 +216,7 @@ cat <<\EOF | sed "$remove_these_sed" > $expected EOF +exec 1>&3 3>&- compare $expected $actual 1>&2 || fail=1 -- cgit v1.2.3-70-g09d2