diff options
Diffstat (limited to 't/t7004-tag.sh')
| -rwxr-xr-x | t/t7004-tag.sh | 44 |
1 files changed, 36 insertions, 8 deletions
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh index 05f411c821..2f72c5c688 100755 --- a/t/t7004-tag.sh +++ b/t/t7004-tag.sh @@ -7,6 +7,9 @@ test_description='git tag Tests for operations with tags.' +GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main +export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME + . ./test-lib.sh . "$TEST_DIRECTORY"/lib-gpg.sh . "$TEST_DIRECTORY"/lib-terminal.sh @@ -17,6 +20,13 @@ tag_exists () { git show-ref --quiet --verify refs/tags/"$1" } +test_expect_success 'setup' ' + test_oid_cache <<-EOM + othersigheader sha1:gpgsig-sha256 + othersigheader sha256:gpgsig + EOM +' + test_expect_success 'listing all tags in an empty tree should succeed' ' git tag -l && git tag @@ -88,7 +98,7 @@ test_expect_success 'creating a tag with --create-reflog should create reflog' ' git tag --create-reflog tag_with_reflog && git reflog exists refs/tags/tag_with_reflog && sed -e "s/^.* //" .git/logs/refs/tags/tag_with_reflog >actual && - test_i18ncmp expected actual + test_cmp expected actual ' test_expect_success 'annotated tag with --create-reflog has correct message' ' @@ -99,7 +109,7 @@ test_expect_success 'annotated tag with --create-reflog has correct message' ' git tag -m "annotated tag" --create-reflog tag_with_reflog && git reflog exists refs/tags/tag_with_reflog && sed -e "s/^.* //" .git/logs/refs/tags/tag_with_reflog >actual && - test_i18ncmp expected actual + test_cmp expected actual ' test_expect_success '--create-reflog does not create reflog on failure' ' @@ -1371,6 +1381,24 @@ test_expect_success GPG \ 'test_config gpg.program echo && test_must_fail git tag -s -m tail tag-gpg-failure' +# try to produce invalid signature +test_expect_success GPG 'git verifies tag is valid with double signature' ' + git tag -s -m tail tag-gpg-double-sig && + git cat-file tag tag-gpg-double-sig >tag && + othersigheader=$(test_oid othersigheader) && + sed -ne "/^\$/q;p" tag >new-tag && + cat <<-EOM >>new-tag && + $othersigheader -----BEGIN PGP SIGNATURE----- + someinvaliddata + -----END PGP SIGNATURE----- + EOM + sed -e "1,/^tagger/d" tag >>new-tag && + new_tag=$(git hash-object -t tag -w new-tag) && + git update-ref refs/tags/tag-gpg-double-sig $new_tag && + git verify-tag tag-gpg-double-sig && + git fsck +' + # try to sign with bad user.signingkey test_expect_success GPGSM \ 'git tag -s fails if gpgsm is misconfigured (bad key)' \ @@ -1406,7 +1434,7 @@ test_expect_success 'message in editor has initial comment: first line' ' # check the first line --- should be empty echo >first.expect && sed -e 1q <actual >first.actual && - test_i18ncmp first.expect first.actual + test_cmp first.expect first.actual ' test_expect_success \ @@ -1583,7 +1611,7 @@ test_expect_success 'checking that branch head with --no-contains lists all but " test_expect_success 'merging original branch into this branch' ' - git merge --strategy=ours master && + git merge --strategy=ours main && git tag v4.0 ' @@ -1729,7 +1757,7 @@ test_expect_success 'recursive tagging should give advice' ' hint: Disable this message with "git config advice.nestedTag false" EOF git tag -m nested nested annotated-v4.0 2>actual && - test_i18ncmp expect actual + test_cmp expect actual ' test_expect_success 'multiple --points-at are OR-ed together' ' @@ -1944,15 +1972,15 @@ test_expect_success ULIMIT_STACK_SIZE '--contains and --no-contains work in a de i=1 && while test $i -lt 8000 do - echo "commit refs/heads/master + echo "commit refs/heads/main committer A U Thor <author@example.com> $((1000000000 + $i * 100)) +0200 data <<EOF commit #$i EOF" - test $i = 1 && echo "from refs/heads/master^0" + test $i = 1 && echo "from refs/heads/main^0" i=$(($i + 1)) done | git fast-import && - git checkout master && + git checkout main && git tag far-far-away HEAD^ && run_with_limited_stack git tag --contains HEAD >actual && test_must_be_empty actual && |
