t7519: avoid file to index mtime race for untracked cache

In t7519 there is a test that writes files to disk, and immediately writes the index with the untracked cache. Because of mtime-comparison logic that 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. The t7063 delays are a #leftoverbit, to be worked on in a separate series. 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 <tao@klerks.biz> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Tao Klerks committed Feb 27, 2022 at 21:56 UTC a67d178be4e604426152212c1c589b2e7f05e29f
1 file changed +6
t/t7519-status-fsmonitor.sh
+6
@@ -324,13 +324,19 @@ test_expect_success UNTRACKED_CACHE 'ignore .git changes when invalidating UNTR'
324 cd dot-git &&
325 mkdir -p .git/hooks &&
326 : >tracked &&
327 + test-tool chmtime =-60 tracked &&
328 : >modified &&
329 + test-tool chmtime =-60 modified &&
330 mkdir dir1 &&
331 : >dir1/tracked &&
332 + test-tool chmtime =-60 dir1/tracked &&
333 : >dir1/modified &&
334 + test-tool chmtime =-60 dir1/modified &&
335 mkdir dir2 &&
336 : >dir2/tracked &&
337 + test-tool chmtime =-60 dir2/tracked &&
338 : >dir2/modified &&
339 + test-tool chmtime =-60 dir2/modified &&
340 write_integration_script &&
341 git config core.fsmonitor .git/hooks/fsmonitor-test &&
342 git update-index --untracked-cache &&