From: Junio C Hamano Date: Thu, 09 Jul 2026 16:38:06 GMT Subject: Re: [PATCH v4] t1410-reflog.sh: avoid suppressing git's exit code in pipelines Message-ID: In-Reply-To: <20260709051229.40363-1-gatlavishweshwarreddy26@gmail.com> Gatla Vishweshwar Reddy writes: > Piping git commands directly to wc -l suppresses the exit code of > git, hiding potential failures from the test suite. Use > test_stdout_line_count instead, which handles exit code preservation > internally while keeping the test logic clean and readable. > > Signed-off-by: Gatla Vishweshwar Reddy > --- > > Changes in v4: > - Restored blank line between test_expect_success blocks that was > accidentally removed in v2 > - Updated commit message to accurately describe the solution This version looks good to me. Will queue and mark the topic for 'next'. Thanks. > > Thank you for the detailed review! > > t/t1410-reflog.sh | 26 +++++++++----------------- > 1 file changed, 9 insertions(+), 17 deletions(-) > > diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh > index ce71f9a30a..5a40a62ba2 100755 > --- a/t/t1410-reflog.sh > +++ b/t/t1410-reflog.sh > @@ -244,30 +244,22 @@ test_expect_success 'delete' ' > test_tick && > git commit -m tiger C && > > - HEAD_entry_count=$(git reflog | wc -l) && > - main_entry_count=$(git reflog show main | wc -l) && > - > - test $HEAD_entry_count = 5 && > - test $main_entry_count = 5 && > - > + test_stdout_line_count = 5 git reflog && > + test_stdout_line_count = 5 git reflog show main && > > git reflog delete main@{1} && > + test_stdout_line_count = 4 git reflog show main && > + test_stdout_line_count = 5 git reflog && > git reflog show main > output && > - test_line_count = $(($main_entry_count - 1)) output && > - test $HEAD_entry_count = $(git reflog | wc -l) && > ! grep ox < output && > > - main_entry_count=$(wc -l < output) && > - > git reflog delete HEAD@{1} && > - test $(($HEAD_entry_count -1)) = $(git reflog | wc -l) && > - test $main_entry_count = $(git reflog show main | wc -l) && > - > - HEAD_entry_count=$(git reflog | wc -l) && > + test_stdout_line_count = 4 git reflog && > + test_stdout_line_count = 4 git reflog show main && > > git reflog delete main@{07.04.2005.15:15:00.-0700} && > + test_stdout_line_count = 3 git reflog show main && > git reflog show main > output && > - test_line_count = $(($main_entry_count - 1)) output && > ! grep dragon < output > > ' > @@ -321,11 +313,11 @@ test_expect_success 'git reflog expire unknown reference' ' > ' > > test_expect_success 'checkout should not delete log for packed ref' ' > - test $(git reflog main | wc -l) = 4 && > + test_stdout_line_count = 4 git reflog main && > git branch foo && > git pack-refs --all && > git checkout foo && > - test $(git reflog main | wc -l) = 4 > + test_stdout_line_count = 4 git reflog main > ' > > test_expect_success 'stale dirs do not cause d/f conflicts (reflogs on)' '