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>
This commit is contained in:
Tao Klerks 2022-02-27 21:56:59 +00:00 committed by Junio C Hamano
parent dab1b7905d
commit a67d178be4

View File

@ -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 &&