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" &&