Re: [GSoC] [PATCH v6 1/1] t9811: be more precise to check importing of tags
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 15, 2025, 14:55 UTC
- Message-ID
- <xmqqjz7lo4o4.fsf@gitster.g>
- In-Reply-To
- <20250412061957.81747-2-anthonywang03@icloud.com>
Anthony Wang <anthonywang513@gmail.com> writes:
Show 10 quoted lines
> 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.
Show 32 quoted lines
> 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" &&