git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Anthony Wang <anthonywang513@gmail.com>
Cc: git@vger.kernel.org,  ps@pks.im,  karthik.188@gmail.com,
	shejialuo@gmail.com,  christian.couder@gmail.com,
	shyamthakkar001@gmail.com,  sunshine@sunshineco.com,
	 Anthony Wang <anthonywang03@icloud.com>
Subject: Re: [GSoC] [PATCH v6 1/1] t9811: be more precise to check importing of tags
Date: Tue, 15 Apr 2025 07:55:23 -0700	[thread overview]
Message-ID: <xmqqjz7lo4o4.fsf@gitster.g> (raw)
In-Reply-To: <20250412061957.81747-2-anthonywang03@icloud.com> (Anthony Wang's message of "Sat, 12 Apr 2025 08:19:57 +0200")

Anthony Wang <anthonywang513@gmail.com> writes:

> The tests use grep to search the output of `git tag` for tagnames they 
> expect to exist, which can incorrectly pass if an unxpected tag
> has the expected tag as its substring. We fix this by using `git 
> show-ref --verify` instead.
>
> Additionally, we add a negative test to verify that a possible
> uninteded tag does not show up in the imported repository.
>
> This change also fixes the original problem, where piping the
> output of `git tag` caused the exit codes to be lost.

The word "original" is misleading; perhaps phase it as "additional"
instead?

That is because not allowing to notice potential breakage by hiding
the exit status behind pipes is just as bad as falsely taking a
partial tagname match as success, and there is no reason to call one
"original" problem, implying the other problem(s) are different.

Other than that, looks excellent.

Thanks.


> Signed-off-by: Anthony Wang <anthonywang513@gmail.com>
> ---
>  t/t9811-git-p4-label-import.sh | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/t/t9811-git-p4-label-import.sh b/t/t9811-git-p4-label-import.sh
> index 5ac5383fb7..39856629c0 100755
> --- a/t/t9811-git-p4-label-import.sh
> +++ b/t/t9811-git-p4-label-import.sh
> @@ -95,9 +95,9 @@ test_expect_success 'two labels on the same changelist' '
>  		cd "$git" &&
>  		git p4 sync --import-labels &&
>  
> -		git tag | grep TAG_F1 &&
> -		git tag | grep -q TAG_F1_1 &&
> -		git tag | grep -q TAG_F1_2 &&
> +		git show-ref --verify refs/tags/TAG_F1_1 &&
> +		git show-ref --verify refs/tags/TAG_F1_2 &&
> +		test_must_fail git show-ref --verify refs/tags/TAG_F1_ONLY &&
>  
>  		cd main &&
>  
> @@ -207,8 +207,7 @@ test_expect_success 'use git config to enable import/export of tags' '
>  		git tag CFG_A_GIT_TAG &&
>  		git p4 rebase --verbose &&
>  		git p4 submit --verbose &&
> -		git tag &&
> -		git tag | grep TAG_F1_1
> +		git show-ref --verify refs/tags/TAG_F1_1 &&
>  	) &&
>  	(
>  		cd "$cli" &&

  reply	other threads:[~2025-04-15 14:55 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-05 10:37 [GSoC] [PATCH 1/1] t9811: avoid using pipes Anthony Wang
2025-04-07  7:51 ` Patrick Steinhardt
2025-04-07 11:18   ` [GSoC] [PATCH v2 0/3] t9811: Improve test coverage and clarity Anthony Wang
2025-04-07 11:18     ` [GSoC] [PATCH v2 1/3] t9811: avoid using pipes to expose exit codes Anthony Wang
2025-04-07 16:17       ` Eric Sunshine
2025-04-07 17:19       ` Junio C Hamano
2025-04-07 21:28         ` Anthony Wang
2025-04-08  0:17           ` Junio C Hamano
2025-04-08  7:35             ` Anthony Wang
2025-04-07 11:18     ` [GSoC] [PATCH v2 2/3] t9811: Remove the -q quiet mode from some instances of grep Anthony Wang
2025-04-07 16:26       ` Eric Sunshine
2025-04-07 22:11         ` Junio C Hamano
2025-04-07 11:18     ` [GSoC] [PATCH v2 3/3] t9811: Change `grep` to `test_grep` for debug output Anthony Wang
2025-04-07 17:25 ` [GSoC] [PATCH v3 0/3] t9811: Improve test coverage and clarity Anthony Wang
2025-04-07 17:25   ` [GSoC] [PATCH v3 1/3] t9811: avoid using pipes to expose exit codes Anthony Wang
2025-04-07 17:25   ` [GSoC] [PATCH v3 2/3] t9811: Remove the -q quiet mode from some instances of grep Anthony Wang
2025-04-07 17:25   ` [GSoC] [PATCH v3 3/3] t9811: Change `grep` to `test_grep` for debug output Anthony Wang
2025-04-08  8:08 ` [GSoC] [PATCH v4 0/1] t9811: Improve test coverage and clarity Anthony Wang
2025-04-08  8:08   ` [GSoC] [PATCH v4 1/1] Remove the pipe following the `git tag`, ensuring the exit code is not hidden. Add explicit verification to check for expected and unexpected tags, increasing specificity and future-proofing a portion of the test Anthony Wang
2025-04-08  9:55     ` Karthik Nayak
2025-04-08 11:48 ` [GSoC] [PATCH v5 0/1] t9811: Improve test coverage and clarity Anthony Wang
2025-04-08 11:48   ` [GSoC] [PATCH v5 1/1] " Anthony Wang
2025-04-08 21:21     ` Junio C Hamano
2025-04-08 21:28       ` Eric Sunshine
2025-04-09  8:15         ` Anthony Wang
2025-04-09 13:29           ` Junio C Hamano
2025-04-12  6:19 ` [GSoC] [PATCH v6 0/1] t9811: be more precise to check importing of tags Anthony Wang
2025-04-12  6:19   ` [GSoC] [PATCH v6 1/1] " Anthony Wang
2025-04-15 14:55     ` Junio C Hamano [this message]
2025-04-16 15:03       ` Anthony Wang
2025-04-16 14:59 ` [GSoC] [PATCH v7 0/1] " Anthony Wang
2025-04-16 14:59   ` [GSoC] [PATCH v7 1/1] " Anthony Wang
2025-04-18 18:12     ` Junio C Hamano
2025-04-18 21:03       ` Junio C Hamano
2025-04-18 21:41         ` Eric Sunshine

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=xmqqjz7lo4o4.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=anthonywang03@icloud.com \
    --cc=anthonywang513@gmail.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=karthik.188@gmail.com \
    --cc=ps@pks.im \
    --cc=shejialuo@gmail.com \
    --cc=shyamthakkar001@gmail.com \
    --cc=sunshine@sunshineco.com \
    /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;
as well as URLs for NNTP newsgroup(s).