From 6ad89f223313920a4f752015cb76c9905c363179 Mon Sep 17 00:00:00 2001 From: =?utf8?q?P=C3=A1draig=20Brady?=
Date: Mon, 4 Oct 2010 16:54:22 +0100 Subject: [PATCH] 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_() --- tests/misc/stat-birthtime | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) 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 -- 2.47.2