Merge branch 'ss/t7004-unhide-git-failures'

Test clean-up.

* ss/t7004-unhide-git-failures:
  t7004: avoid subshells to capture git exit codes
  t7004: dynamically grab expected state in tests
  t7004: drop hardcoded tag count for state verification
This commit is contained in:
Junio C Hamano
2026-05-17 22:58:30 +09:00
+23 -21
View File
@@ -145,9 +145,7 @@ test_expect_success 'listing all tags if one exists should succeed' '
'
test_expect_success 'Multiple -l or --list options are equivalent to one -l option' '
cat >expect <<-\EOF &&
mytag
EOF
git tag -l >expect &&
git tag -l -l >actual &&
test_cmp expect actual &&
git tag --list --list >actual &&
@@ -157,8 +155,10 @@ test_expect_success 'Multiple -l or --list options are equivalent to one -l opti
'
test_expect_success 'listing all tags if one exists should output that tag' '
test $(git tag -l) = mytag &&
test $(git tag) = mytag
git tag -l >actual &&
test_grep "^mytag$" actual &&
git tag >actual &&
test_grep "^mytag$" actual
'
# pattern matching:
@@ -168,11 +168,15 @@ test_expect_success 'listing a tag using a matching pattern should succeed' '
'
test_expect_success 'listing a tag with --ignore-case' '
test $(git tag -l --ignore-case MYTAG) = mytag
echo mytag >expect &&
git tag -l --ignore-case MYTAG >actual &&
test_cmp expect actual
'
test_expect_success 'listing a tag using a matching pattern should output that tag' '
test $(git tag -l mytag) = mytag
echo mytag >expect &&
git tag -l mytag >actual &&
test_cmp expect actual
'
test_expect_success 'listing tags using a non-matching pattern should succeed' '
@@ -191,15 +195,14 @@ test_expect_success 'trying to create a tag with the name of one existing should
'
test_expect_success 'trying to create a tag with a non-valid name should fail' '
git tag -l >actual &&
test_line_count = 1 actual &&
git tag -l >tags-before &&
test_must_fail git tag "" &&
test_must_fail git tag .othertag &&
test_must_fail git tag "other tag" &&
test_must_fail git tag "othertag^" &&
test_must_fail git tag "other~tag" &&
git tag -l >actual &&
test_line_count = 1 actual
git tag -l >tags-after &&
test_cmp tags-before tags-after
'
test_expect_success 'creating a tag using HEAD directly should succeed' '
@@ -227,12 +230,7 @@ test_expect_success 'trying to delete an unknown tag should fail' '
'
test_expect_success 'trying to delete tags without params should succeed and do nothing' '
cat >expect <<-\EOF &&
myhead
mytag
EOF
git tag -l >actual &&
test_cmp expect actual &&
git tag -l >expect &&
git tag -d &&
git tag -l >actual &&
test_cmp expect actual
@@ -438,8 +436,12 @@ test_expect_success 'listing tags -n in column with column.ui ignored' '
test_expect_success 'a non-annotated tag created without parameters should point to HEAD' '
git tag non-annotated-tag &&
test $(git cat-file -t non-annotated-tag) = commit &&
test $(git rev-parse non-annotated-tag) = $(git rev-parse HEAD)
echo commit >expect &&
git cat-file -t non-annotated-tag >actual &&
test_cmp expect actual &&
git rev-parse HEAD >expect &&
git rev-parse non-annotated-tag >actual &&
test_cmp expect actual
'
test_expect_success 'trying to verify an unknown tag should fail' '
@@ -1528,11 +1530,11 @@ test_expect_success GPG 'verify signed tag fails when public key is not present'
'
test_expect_success 'git tag -a fails if tag annotation is empty' '
! (GIT_EDITOR=cat git tag -a initial-comment)
test_must_fail env GIT_EDITOR=cat git tag -a initial-comment
'
test_expect_success 'message in editor has initial comment' '
! (GIT_EDITOR=cat git tag -a initial-comment >actual)
test_must_fail env GIT_EDITOR=cat git tag -a initial-comment >actual
'
test_expect_success 'message in editor has initial comment: first line' '