coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [coreutils] [PATCH 1/2] stat: support printing birthtime


From: Jim Meyering
Subject: Re: [coreutils] [PATCH 1/2] stat: support printing birthtime
Date: Mon, 04 Oct 2010 16:24:25 +0200

Pádraig Brady wrote:
> Note the above test fits the pattern of "requiring a delay to pass"
> and so can use the retry_delay_ functionality used elsewhere.
> The advantage is that the delay is 1s rather than 2 on
> 1s resolution file systems like ext3.

Oh!  Glad you remembered that.  I should have, too.
You're welcome to push that.

I'll make a pre-release snapshot tomorrow or Wednesday.

> diff --git a/tests/misc/stat-birthtime b/tests/misc/stat-birthtime
> index 4490ee8..e584df0 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]