Merge branch 'ks/t4205-test-describe-with-abbrev-fix'

Test update.

* ks/t4205-test-describe-with-abbrev-fix:
  t4205: correctly test %(describe:abbrev=...)
maint
Junio C Hamano 2023-07-08 11:23:07 -07:00
commit d52a45cf56
1 changed files with 16 additions and 1 deletions

View File

@ -1012,10 +1012,25 @@ test_expect_success '%(describe:tags) vs git describe --tags' '


test_expect_success '%(describe:abbrev=...) vs git describe --abbrev=...' ' test_expect_success '%(describe:abbrev=...) vs git describe --abbrev=...' '
test_when_finished "git tag -d tagname" && test_when_finished "git tag -d tagname" &&

# Case 1: We have commits between HEAD and the most recent tag
# reachable from it
test_commit --no-tag file &&
git describe --abbrev=15 >expect &&
git log -1 --format="%(describe:abbrev=15)" >actual &&
test_cmp expect actual &&

# Make sure the hash used is at least 15 digits long
sed -e "s/^.*-g\([0-9a-f]*\)$/\1/" <actual >hexpart &&
test 16 -le $(wc -c <hexpart) &&

# Case 2: We have a tag at HEAD, describe directly gives the
# name of the tag
git tag -a -m tagged tagname && git tag -a -m tagged tagname &&
git describe --abbrev=15 >expect && git describe --abbrev=15 >expect &&
git log -1 --format="%(describe:abbrev=15)" >actual && git log -1 --format="%(describe:abbrev=15)" >actual &&
test_cmp expect actual test_cmp expect actual &&
test tagname = $(cat actual)
' '


test_expect_success 'log --pretty with space stealing' ' test_expect_success 'log --pretty with space stealing' '