From: Junio C Hamano Date: Fri, 25 Feb 2022 19:07:54 GMT Subject: Re: [PATCH v2 1/3] t7519: avoid file to index mtime race for untracked cache Message-ID: In-Reply-To: <9421b71540d1f1764db6931d0781576d8a710866.1645809015.git.gitgitgadget@gmail.com> "Tao Klerks via GitGitGadget" writes: > From: Tao Klerks > > In t7519 there is a test that writes files to disk, and immediately > writes the untracked index. Because of mtime-comparison logic that "untracked cache", I think. > uses a 1-second resolution, this means the cached entries are not > trusted/used under some circumstances > (see read-cache.c#is_racy_stat()). > > Untracked cache tests in t7063 use a 1-second delay to avoid this > issue, but we don't want to introduce arbitrary slowdowns, so instead > use test-tool chmtime to backdate the files slightly. Good approach. Perhaps fixing 7063 can be marked as #leftoverbit? > This change doesn't actually affect the outcome of the test, but does > enhance its validity, and becomes relevant after later changes. > > Signed-off-by: Tao Klerks > --- > t/t7519-status-fsmonitor.sh | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/t/t7519-status-fsmonitor.sh b/t/t7519-status-fsmonitor.sh > index a6308acf006..3f984136ea9 100755 > --- a/t/t7519-status-fsmonitor.sh > +++ b/t/t7519-status-fsmonitor.sh > @@ -324,13 +324,19 @@ test_expect_success UNTRACKED_CACHE 'ignore .git changes when invalidating UNTR' > cd dot-git && > mkdir -p .git/hooks && > : >tracked && > + test-tool chmtime =-60 tracked && > : >modified && > + test-tool chmtime =-60 modified && > mkdir dir1 && > : >dir1/tracked && > + test-tool chmtime =-60 dir1/tracked && > : >dir1/modified && > + test-tool chmtime =-60 dir1/modified && > mkdir dir2 && > : >dir2/tracked && > + test-tool chmtime =-60 dir2/tracked && > : >dir2/modified && > + test-tool chmtime =-60 dir2/modified && > write_integration_script && > git config core.fsmonitor .git/hooks/fsmonitor-test && > git update-index --untracked-cache &&