t1092: use GIT_PROGRESS_DELAY for consistent results
authorDerrick Stolee <dstolee@microsoft.com>
Mon, 24 May 2021 19:55:07 +0000 (19:55 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 25 May 2021 06:30:33 +0000 (15:30 +0900)
commite2b05746e15bad24803300122f2d95118617ca60
tree11253e731d0ada8e845053088f7a2bc73fbdc289
parentde88ac70f3a801262eb3aa087e5d9a712be0a54a
t1092: use GIT_PROGRESS_DELAY for consistent results

The t1092-sparse-checkout-compatibility.sh tests compare the stdout and
stderr for several Git commands across both full checkouts, sparse
checkouts with a full index, and sparse checkouts with a sparse index.
Since these are direct comparisons, sometimes a progress indicator can
flush at unpredictable points, especially on slower machines. This
causes the tests to be flaky.

One standard way to avoid this is to add GIT_PROGRESS_DELAY=0 to the Git
commands that are run, as this will force every progress indicator
created with start_progress_delay() to be created immediately. However,
there are some progress indicators that are created in the case of a
full index that are not created with a sparse index. Moreover, their
values may be different as those indexes have a different number of
entries.

Instead, use GIT_PROGRESS_DELAY=-1 (which will turn into UINT_MAX)
to ensure that any reasonable machine running these tests would
never display delayed progress indicators.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t1092-sparse-checkout-compatibility.sh