"Kyle Lippincott via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Kyle Lippincott <spectral@xxxxxxxxxx> > > 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. Makes sense. Updating the comment with expected shape of the output might make it even less likely that we'd break these fixes again by mistake. Thanks. > Signed-off-by: Kyle Lippincott <spectral@xxxxxxxxxx> > --- > t/t6421-merge-partial-clone.sh | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/t/t6421-merge-partial-clone.sh b/t/t6421-merge-partial-clone.sh > index 711b709e755..0f312ac93dc 100755 > --- a/t/t6421-merge-partial-clone.sh > +++ b/t/t6421-merge-partial-clone.sh > @@ -231,7 +231,7 @@ test_expect_merge_algorithm failure success 'Objects downloaded for single relev > test_cmp expect actual && > > # Check the number of fetch commands exec-ed > - grep d0.*fetch.negotiationAlgorithm trace.output >fetches && > + grep " d0 .* child_start .*fetch.negotiationAlgorithm" trace.output >fetches && > test_line_count = 2 fetches && > > git rev-list --objects --all --missing=print | > @@ -319,7 +319,7 @@ test_expect_merge_algorithm failure success 'Objects downloaded when a directory > test_cmp expect actual && > > # Check the number of fetch commands exec-ed > - grep d0.*fetch.negotiationAlgorithm trace.output >fetches && > + grep " d0 .* child_start .*fetch.negotiationAlgorithm" trace.output >fetches && > test_line_count = 1 fetches && > > git rev-list --objects --all --missing=print | > @@ -423,7 +423,7 @@ test_expect_merge_algorithm failure success 'Objects downloaded with lots of ren > test_cmp expect actual && > > # Check the number of fetch commands exec-ed > - grep d0.*fetch.negotiationAlgorithm trace.output >fetches && > + grep " d0 .* child_start .*fetch.negotiationAlgorithm" trace.output >fetches && > test_line_count = 4 fetches && > > git rev-list --objects --all --missing=print |