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>
This commit is contained in:
Derrick Stolee 2021-05-24 19:55:07 +00:00 коммит произвёл Junio C Hamano
Родитель de88ac70f3
Коммит e2b05746e1
1 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -106,18 +106,18 @@ init_repos () {
run_on_sparse () {
(
cd sparse-checkout &&
"$@" >../sparse-checkout-out 2>../sparse-checkout-err
GIT_PROGRESS_DELAY=-1 "$@" >../sparse-checkout-out 2>../sparse-checkout-err
) &&
(
cd sparse-index &&
"$@" >../sparse-index-out 2>../sparse-index-err
GIT_PROGRESS_DELAY=-1 "$@" >../sparse-index-out 2>../sparse-index-err
)
}
run_on_all () {
(
cd full-checkout &&
"$@" >../full-checkout-out 2>../full-checkout-err
GIT_PROGRESS_DELAY=-1 "$@" >../full-checkout-out 2>../full-checkout-err
) &&
run_on_sparse "$@"
}