From: Bernhard Voelker Date: Sat, 23 May 2020 00:46:22 +0000 (+0200) Subject: tests: fix removed-directory test X-Git-Tag: v9.0~243 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9dbaf54eed7ea7051e6344e92e75f9acddb70d96;p=thirdparty%2Fcoreutils.git tests: fix removed-directory test The previous attempt to skip that test on NFS (commit 4181fc518362) made the test fail; it introduced two problems: a) In the good case, i.e., when the subshell returns with exit status 0, the test ran into framework_failure_. b) As the subshell also runs with 'set -x', the later comparison of /dev/null with 'err' would fail. * tests/ls/removed-directory.sh: Revert to the style without subshell, and add 'test -d .' to verify that 'ls' can read the removed dir. --- diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh index 319594907a..00473a3b54 100755 --- a/tests/ls/removed-directory.sh +++ b/tests/ls/removed-directory.sh @@ -21,17 +21,16 @@ . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ ls +cwd=$(pwd) mkdir d || framework_failure_ -(cd d || exit 10 - rmdir ../d || exit 11 - test -d . || exit 12 - ls || exit 13) >out 2>err -case $? in - 11) skip_ "can't remove working directory on this platform";; - 12) skip_ "can't examine removed working directory on this platform";; - 13) fail=1;; - * ) framework_failure_;; -esac +cd d || framework_failure_ +rmdir ../d || skip_ "can't remove working directory on this platform" + +# On NFS, 'ls' would run into the error "Stale file handle". +test -d . || skip_ "can't examine removed working directory on this platform" + +ls >../out 2>../err || fail=1 +cd "$cwd" || framework_failure_ compare /dev/null out || fail=1 compare /dev/null err || fail=1