t9811: be more precise to check importing of tags

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 an additional problem, where piping the output of `git tag` caused the exit codes to be lost. Signed-off-by: Anthony Wang <anthonywang513@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Anthony Wang committed Apr 16, 2025 at 16:59 UTC dccf1296d85aac93156d151253f2669f1b34a152
1 file changed +4 -5
t/t9811-git-p4-label-import.sh
+4 -5
@@ -95,9 +95,9 @@ test_expect_success 'two labels on the same changelist' '
95 cd "$git" &&
96 git p4 sync --import-labels &&
97
98 - git tag | grep TAG_F1 &&
99 - git tag | grep -q TAG_F1_1 &&
100 - git tag | grep -q TAG_F1_2 &&
98 + git show-ref --verify refs/tags/TAG_F1_1 &&
99 + git show-ref --verify refs/tags/TAG_F1_2 &&
100 + test_must_fail git show-ref --verify refs/tags/TAG_F1_ONLY &&
101
102 cd main &&
103
@@ -207,8 +207,7 @@ test_expect_success 'use git config to enable import/export of tags' '
207 git tag CFG_A_GIT_TAG &&
208 git p4 rebase --verbose &&
209 git p4 submit --verbose &&
210 - git tag &&
211 - git tag | grep TAG_F1_1
210 + git show-ref --verify refs/tags/TAG_F1_1 &&
211 ) &&
212 (
213 cd "$cli" &&