]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t6421: fix test to work when repo dir contains d0
authorKyle Lippincott <spectral@google.com>
Mon, 5 Aug 2024 17:10:08 +0000 (17:10 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 5 Aug 2024 17:59:21 +0000 (10:59 -0700)
The `grep` statement in this test looks for `d0.*<string>`, attempting
to filter to only show lines that had tabular output where the 2nd
column had `d0` and the final column had a substring of
[`git -c `]`fetch.negotiationAlgorithm`. These lines also have
`child_start` in the 4th column, but this isn't part of the condition.

A subsequent line will have `d1` in the 2nd column, `start` in the 4th
column, and `/path/to/git/git -c fetch.negotiationAlgorihm` in the final
column. If `/path/to/git/git` contains the substring `d0`, then this
line is included by `grep` as well as the desired line, leading to an
effective doubling of the number of lines, and test failures.

Tighten the grep expression to require `d0` to be surrounded by spaces,
and to have the `child_start` label.

Signed-off-by: Kyle Lippincott <spectral@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t6421-merge-partial-clone.sh

index 711b709e755268ab1d02986c8aaa8257c27b41ee..b99f29ef9baded74a5380169c3161621e1732448 100755 (executable)
@@ -230,8 +230,9 @@ test_expect_merge_algorithm failure success 'Objects downloaded for single relev
                grep fetch_count trace.output | cut -d "|" -f 9 | tr -d " ." >actual &&
                test_cmp expect actual &&
 
-               # Check the number of fetch commands exec-ed
-               grep d0.*fetch.negotiationAlgorithm trace.output >fetches &&
+               # Check the number of fetch commands exec-ed by filtering trace to
+               # child_start events by the top-level program (2nd field == d0)
+               grep " d0 .* child_start .*fetch.negotiationAlgorithm" trace.output >fetches &&
                test_line_count = 2 fetches &&
 
                git rev-list --objects --all --missing=print |
@@ -318,8 +319,9 @@ test_expect_merge_algorithm failure success 'Objects downloaded when a directory
                grep fetch_count trace.output | cut -d "|" -f 9 | tr -d " ." >actual &&
                test_cmp expect actual &&
 
-               # Check the number of fetch commands exec-ed
-               grep d0.*fetch.negotiationAlgorithm trace.output >fetches &&
+               # Check the number of fetch commands exec-ed by filtering trace to
+               # child_start events by the top-level program (2nd field == d0)
+               grep " d0 .* child_start .*fetch.negotiationAlgorithm" trace.output >fetches &&
                test_line_count = 1 fetches &&
 
                git rev-list --objects --all --missing=print |
@@ -422,8 +424,9 @@ test_expect_merge_algorithm failure success 'Objects downloaded with lots of ren
                grep fetch_count trace.output | cut -d "|" -f 9 | tr -d " ." >actual &&
                test_cmp expect actual &&
 
-               # Check the number of fetch commands exec-ed
-               grep d0.*fetch.negotiationAlgorithm trace.output >fetches &&
+               # Check the number of fetch commands exec-ed by filtering trace to
+               # child_start events by the top-level program (2nd field == d0)
+               grep " d0 .* child_start .*fetch.negotiationAlgorithm" trace.output >fetches &&
                test_line_count = 4 fetches &&
 
                git rev-list --objects --all --missing=print |