tests: avoid tail-2/F-vs-missing failure on NFS
authorJim Meyering <meyering@redhat.com>
Sat, 8 Oct 2011 17:57:21 +0000 (19:57 +0200)
committerJim Meyering <meyering@redhat.com>
Sat, 8 Oct 2011 17:57:21 +0000 (19:57 +0200)
* tests/tail-2/F-vs-missing: This test would fail about 80% of the
time on linux/powerpc when run in an NFS-mounted directory.
Reported by Bruno Haible in
http://thread.gmane.org/gmane.comp.gnu.coreutils.general/1726/focus=1727

tests/tail-2/F-vs-missing

index 35b103b..d46a624 100755 (executable)
@@ -46,4 +46,19 @@ tail_re='has appeared' retry_delay_ check_tail_output .1 7 ||
 
 kill -HUP $pid
 
+cleanup()
+{
+  local delay="$1"
+  rm -rf missing ||
+    { sleep $delay; return 1; }
+}
+
+# Try repeatedly to remove the temporary directory.
+# This is normally unnecessary, because the containing directory will
+# be removed by code from init.sh.  However, when this particular test
+# is run on an NFS-mounted volume, sometimes init.sh's cleanup code
+# fails because the directory is not yet really empty, perhaps because
+# the tail process (reading missing/file) is not yet killed.
+retry_delay_ cleanup .1 6
+
 Exit $fail