All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] t1092: use GIT_PROGRESS_DELAY for consistent results
@ 2021-05-24 19:55 Derrick Stolee via GitGitGadget
  2021-05-24 20:28 ` Jonathan Nieder
  0 siblings, 1 reply; 18+ messages in thread
From: Derrick Stolee via GitGitGadget @ 2021-05-24 19:55 UTC (permalink / raw)
  To: git; +Cc: gitster, stolee, Derrick Stolee, Derrick Stolee

From: Derrick Stolee <dstolee@microsoft.com>

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=100000 to ensure that any reasonable
machine running these tests would never display delayed progress
indicators.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
---
    t1092: use GIT_PROGRESS_DELAY for consistent results
    
    We found this while running PR builds in microsoft/git.
    
    Thanks, -Stolee

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-960%2Fderrickstolee%2Fsparse-index%2Fprogress-fix-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-960/derrickstolee/sparse-index/progress-fix-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/960

 t/t1092-sparse-checkout-compatibility.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/t/t1092-sparse-checkout-compatibility.sh b/t/t1092-sparse-checkout-compatibility.sh
index 12e6c453024f..e9a815ca7aaa 100755
--- a/t/t1092-sparse-checkout-compatibility.sh
+++ b/t/t1092-sparse-checkout-compatibility.sh
@@ -106,18 +106,18 @@ init_repos () {
 run_on_sparse () {
 	(
 		cd sparse-checkout &&
-		"$@" >../sparse-checkout-out 2>../sparse-checkout-err
+		GIT_PROGRESS_DELAY=100000 "$@" >../sparse-checkout-out 2>../sparse-checkout-err
 	) &&
 	(
 		cd sparse-index &&
-		"$@" >../sparse-index-out 2>../sparse-index-err
+		GIT_PROGRESS_DELAY=100000 "$@" >../sparse-index-out 2>../sparse-index-err
 	)
 }
 
 run_on_all () {
 	(
 		cd full-checkout &&
-		"$@" >../full-checkout-out 2>../full-checkout-err
+		GIT_PROGRESS_DELAY=100000 "$@" >../full-checkout-out 2>../full-checkout-err
 	) &&
 	run_on_sparse "$@"
 }

base-commit: de88ac70f3a801262eb3aa087e5d9a712be0a54a
-- 
gitgitgadget

^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2021-05-25 21:49 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-24 19:55 [PATCH] t1092: use GIT_PROGRESS_DELAY for consistent results Derrick Stolee via GitGitGadget
2021-05-24 20:28 ` Jonathan Nieder
2021-05-24 20:38   ` Derrick Stolee
2021-05-24 21:42     ` Taylor Blau
2021-05-24 22:57       ` Ævar Arnfjörð Bjarmason
2021-05-25  0:13         ` Taylor Blau
2021-05-25  0:39           ` Derrick Stolee
2021-05-25  6:32             ` Junio C Hamano
2021-05-25 10:54               ` Derrick Stolee
2021-05-25 20:46                 ` Junio C Hamano
2021-05-25 21:14                   ` Junio C Hamano
2021-05-25 21:49                   ` Taylor Blau
2021-05-25  2:54           ` Junio C Hamano
2021-05-25 15:10             ` Taylor Blau
2021-05-25  7:39           ` Ævar Arnfjörð Bjarmason
2021-05-25  8:06             ` Junio C Hamano
2021-05-25  2:49       ` Junio C Hamano
2021-05-25  2:41     ` Junio C Hamano

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.