]> git.ipfire.org Git - thirdparty/git.git/commitdiff
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)
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

index 12e6c453024fdfcfb6bab555b99a078c4d147252..58ac9377e4f0c1901eb757ebd4f59bf77281cf7f 100755 (executable)
@@ -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 "$@"
 }