Git development
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Gatla Vishweshwar Reddy <gatlavishweshwarreddy26@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] t1410-reflog.sh: avoid suppressing git's exit code in pipelines
Date: Mon, 06 Jul 2026 19:16:09 -0700	[thread overview]
Message-ID: <xmqqechf8ryu.fsf@gitster.g> (raw)
In-Reply-To: <20260706205036.3453-1-gatlavishweshwarreddy26@gmail.com> (Gatla Vishweshwar Reddy's message of "Tue, 7 Jul 2026 02:20:36 +0530")

Gatla Vishweshwar Reddy <gatlavishweshwarreddy26@gmail.com> writes:

> 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.
>
> Signed-off-by: Gatla Vishweshwar Reddy <gatlavishweshwarreddy26@gmail.com>
> ---
>  t/t1410-reflog.sh | 29 +++++++++++++++++++++--------
>  1 file changed, 21 insertions(+), 8 deletions(-)
>
> diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh
> index ce71f9a30a..397f94b039 100755
> --- a/t/t1410-reflog.sh
> +++ b/t/t1410-reflog.sh
> @@ -244,8 +244,10 @@ 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) &&
> +	git reflog >reflog_output &&
> +	HEAD_entry_count=$(wc -l <reflog_output) &&
> +	git reflog show main >reflog_main_output &&
> +	main_entry_count=$(wc -l <reflog_main_output) &&
>  
>  	test $HEAD_entry_count = 5 &&
>  	test $main_entry_count = 5 &&

If you _know_ output from certain command must be 5 lines, would it
make more sense to use test_stdout_line_count, perhaps like

	test_stdout_line_count = 5 git reflog

or something?

> @@ -254,16 +256,23 @@ test_expect_success 'delete' '
>  	git reflog delete main@{1} &&
>  	git reflog show main > 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) &&
>  	! 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) &&
> +	git reflog >reflog_output &&
> +	test $(($HEAD_entry_count -1)) = $(wc -l <reflog_output) &&
> +	git reflog show main >reflog_main_output &&
> +	test $main_entry_count = $(wc -l <reflog_main_output) &&
> +
> +
> +	git reflog >reflog_output &&
> +	HEAD_entry_count=$(wc -l <reflog_output) &&
> +
>  
> -	HEAD_entry_count=$(git reflog | wc -l) &&
>  
>  	git reflog delete main@{07.04.2005.15:15:00.-0700} &&

Can you explain the addition of these consecutive blank lines? The
same question applies to the blank lines at the end of the test in
the next hunk. I ask because formatting issues like this often
resemble unedited AI-generated code that hasn't been properly
cleaned up before submission.

>  	git reflog show main > output &&
> @@ -321,11 +330,15 @@ 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 &&
> +	git reflog main >reflog_output &&
> +	test $(wc -l <reflog_output) = 4 &&
>  	git branch foo &&
>  	git pack-refs --all &&
>  	git checkout foo &&
> -	test $(git reflog main | wc -l) = 4
> +	git reflog main >reflog_output &&
> +	test $(wc -l <reflog_output) = 4
> +
> +
>  '
>  
>  test_expect_success 'stale dirs do not cause d/f conflicts (reflogs on)' '

  reply	other threads:[~2026-07-07  2:16 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-06 20:50 [PATCH] t1410-reflog.sh: avoid suppressing git's exit code in pipelines Gatla Vishweshwar Reddy
2026-07-07  2:16 ` Junio C Hamano [this message]
2026-07-07 13:55   ` [PATCH v2] " Gatla Vishweshwar Reddy
2026-07-08  1:48     ` Junio C Hamano
2026-07-08  9:20   ` [PATCH v3] " Gatla Vishweshwar Reddy
2026-07-08 20:41     ` Junio C Hamano
2026-07-09  5:09       ` [PATCH v4] " Gatla Vishweshwar Reddy
2026-07-09 16:38         ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqechf8ryu.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=gatlavishweshwarreddy26@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox