[head tinderbox] failure on amd64/amd64
Dag-Erling Smørgrav
des at des.no
Wed Aug 20 08:18:33 UTC 2008
Ruslan Ermilov <ru at freebsd.org> writes:
> "-mtime -0" interacts badly with the TIME_CORRECT() macro when mtime
> and run-time happen to be the same second. While I think it's a bug
> in the find(1) code that needs to be fixed, using "-mtime -0s" seems
> to avoid the macro and thus works as expected.
% date ; touch foo ; find foo -mtime 0s ; date ; sleep 1 ; find foo -mtime 0s ; date
Wed Aug 20 10:09:11 CEST 2008
foo
Wed Aug 20 10:09:11 CEST 2008
Wed Aug 20 10:09:12 CEST 2008
% date ; touch foo ; find foo -mtime 0s ; date ; sleep 1 ; find foo -mtime 1s ; date
Wed Aug 20 10:11:23 CEST 2008
foo
Wed Aug 20 10:11:23 CEST 2008
foo
Wed Aug 20 10:11:24 CEST 2008
'-mtime Ns' evaluates to true if the difference between current time and
the file's mtime is *exactly* N seconds.
'-mtime N' evaluates to true if the difference between current time and
the file's mtime is between N-1 and N days.
As written, the test will fail if sys/sys/param.h's mtime is between now
and 86399 seconds into the future, and succeed otherwise. If we change
0 to 0s, it will fail if sys/sys/param.h's mtime is exactly the current
time, and succeed otherwise.
Personally, I think the test is useless, as there are a million other
ways to mess up your build, but if you absolutely must have it there,
the correct predicate would be '-newermt now'.
DES
--
Dag-Erling Smørgrav - des at des.no
More information about the freebsd-tinderbox
mailing list