From: Pádraig Brady Date: Mon, 4 Oct 2010 15:54:22 +0000 (+0100) Subject: tests: refactor the stat-birthtime test to use retry_delay_ X-Git-Tag: v8.6~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ad89f223313920a4f752015cb76c9905c363179;p=thirdparty%2Fcoreutils.git tests: refactor the stat-birthtime test to use retry_delay_ * tests/misc/stat-birthtime: This recently added test fits the pattern of requiring a delay to pass, so get it to use retry_delay_() --- diff --git a/tests/misc/stat-birthtime b/tests/misc/stat-birthtime index 4490ee8084..e584df02a4 100755 --- a/tests/misc/stat-birthtime +++ b/tests/misc/stat-birthtime @@ -27,15 +27,25 @@ atime=$(stat --format %X a) || fail=1 mtime=$(stat --format %Y a) || fail=1 ctime=$(stat --format %Z a) || fail=1 -case $(stat --format %x a) in - *.000000000*) sleep 2;; # worst case file system is FAT - *) sleep .02;; # should be adequate for any system with subsecond resolution -esac - -touch a || fail=1 -test "x$btime" = x$(stat --format %W a) || fail=1 -test "x$atime" != x$(stat --format %X a) || fail=1 -test "x$mtime" != x$(stat --format %Y a) || fail=1 -test "x$ctime" != x$(stat --format %Z a) || fail=1 +# Wait up to 2.17s for timestamps to change. +# ---------------------------------------- +# iterations file system resolution e.g. +# ---------------------------------------- +# 1 nano or micro second ext4 +# 4 1 second ext3 +# 5 2 second FAT +# ---------------------------------------- +check_timestamps_updated() +{ + local delay="$1" + sleep $delay + touch a || fail=1 + + test "x$btime" = x$(stat --format %W a) && + test "x$atime" != x$(stat --format %X a) && + test "x$mtime" != x$(stat --format %Y a) && + test "x$ctime" != x$(stat --format %Z a) +} +retry_delay_ check_timestamps_updated .07 5 || fail=1 Exit $fail