git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] t1092: use GIT_PROGRESS_DELAY for consistent results

From
Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
Date
May 24, 2021, 19:55 UTC
Message-ID
<pull.960.git.1621886108515.gitgitgadget@gmail.com>
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
Next: Jonathan Nieder
Message 1 of 18 in “t1092: use GIT_PROGRESS_DELAY for consistent results”
  1. t1092: use GIT_PROGRESS_DELAY for consistent resultsDerrick Stolee via GitGitGadget, May 24, 2021
  2. Jonathan NiederMay 24, 2021
  3. Derrick StoleeMay 24, 2021
  4. Taylor BlauMay 24, 2021
  5. Ævar Arnfjörð BjarmasonMay 24, 2021
  6. Taylor BlauMay 25, 2021
  7. Derrick StoleeMay 25, 2021
  8. Junio C HamanoMay 25, 2021
  9. Derrick StoleeMay 25, 2021
  10. Junio C HamanoMay 25, 2021
  11. Junio C HamanoMay 25, 2021
  12. Taylor BlauMay 25, 2021
  13. Junio C HamanoMay 25, 2021
  14. Taylor BlauMay 25, 2021
  15. Ævar Arnfjörð BjarmasonMay 25, 2021
  16. Junio C HamanoMay 25, 2021
  17. Junio C HamanoMay 25, 2021
  18. Junio C HamanoMay 25, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.