From 37f4a194ff0936881d1b1682a84ee687c7bb2e74 Mon Sep 17 00:00:00 2001 From: Gatla Vishweshwar Reddy Date: Tue, 7 Jul 2026 02:14:53 +0530 Subject: [PATCH] t1410-reflog.sh: avoid suppressing git's exit code in pipelines Piping git commands directly to wc -l suppresses the exit code of git, hiding potential failures from the test suite. Capture the output to a temporary file first, then count the lines separately to preserve the exit code. Where the expected count is known ahead of time, use test_stdout_line_count instead. Signed-off-by: Gatla Vishweshwar Reddy --- t/t1410-reflog.sh | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh index ce71f9a30ae1ee..8e018d172bd9c3 100755 --- a/t/t1410-reflog.sh +++ b/t/t1410-reflog.sh @@ -244,26 +244,30 @@ 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 && + git reflog >reflog_output && + HEAD_entry_count=$(wc -l reflog_main_output && + main_entry_count=$(wc -l output && test_line_count = $(($main_entry_count - 1)) output && - test $HEAD_entry_count = $(git reflog | wc -l) && + git reflog >reflog_output && + test $HEAD_entry_count = $(wc -l reflog_output && + test $(($HEAD_entry_count -1)) = $(wc -l reflog_main_output && + test $main_entry_count = $(wc -l reflog_output && + HEAD_entry_count=$(wc -l output && @@ -319,13 +323,12 @@ test_expect_success 'git reflog expire unknown reference' ' test_must_fail git reflog expire does-not-exist 2>stderr && test_grep "error: reflog could not be found: ${SQ}does-not-exist${SQ}" stderr ' - 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)' '