On the testsuite we explicitly disable the sleeps via the environment variable designed for this (except for a few specific tests). We compensate for this problem in quite a few places by making sure that we also change the number of characters in the file.
Bert > -----Original Message----- > From: Julian Foad [mailto:julianf...@apache.org] > Sent: donderdag 14 juni 2018 19:35 > To: Philip Martin <phi...@codematters.co.uk> > Cc: dev@subversion.apache.org > Subject: Re: shelf-tests failure on macOS > > Philip Martin wrote on 2018-06-14: > > Philip Martin <phi...@codematters.co.uk> writes: > > > Julian Foad <julianf...@apache.org> writes: > > >> The most unusual thing about these failing tests is the data they > > >> write. Strings of 5 or 6 low-value bytes, like: > > >> > > >> '\0\1\2\3\4\5' > > >> '\5\4\3\2\1\0' > > > > > > Those are the same size. Could it be a filesystem timestamp resolution > > > issue? The file changes but the timestamp does not and some change is > > > not detected? > > > > An HFS+ filesystem has a coarse 1s timestamp resolution so that would > > explain why the problem shows up there but not systems with subsecond > > resolution. > > Sounds like the correct explanation. > > > Neither shelve or unshelve appear to use svn_sleep_for_timestamp(). > > Actually shelve already does, in the relevant code path, which is inside > svn_client_shelf_unapply() where it uses svn_client_revert4() which does. > > Unshelve sleeps now, since r1833532. Hopefully that's the end of it. > > Thank you very much for the insight, Philip! > > - Julian