diff options
author | Pádraig Brady <P@draigBrady.com> | 2010-10-04 16:54:22 +0100 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2010-10-04 16:54:22 +0100 |
commit | 6ad89f223313920a4f752015cb76c9905c363179 (patch) | |
tree | 12d6bc3a3fe42e49a2a9bb2f1a98101a23f922b9 | |
parent | 2006aeba9d44ecc49fefcba65d93451dc537cd01 (diff) | |
download | coreutils-6ad89f223313920a4f752015cb76c9905c363179.tar.xz |
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_()
-rwxr-xr-x | tests/misc/stat-birthtime | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/tests/misc/stat-birthtime b/tests/misc/stat-birthtime index 4490ee808..e584df02a 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 |