From e0aaf781f656671694a0aa04d8a665bd4d7956e6 Mon Sep 17 00:00:00 2001 From: Brandon Casey Date: Thu, 27 Mar 2008 11:16:04 -0500 Subject: mktag.c: improve verification of tagger field and tests Since nearly its birth, git's tags have included a "tagger" field which describes the name of tagger, email of tagger, and date and time of tagging. But, this field was only loosely tested by git-mktag. Provide some thorough testing for this field and also ensure that the tag header is separated from the tag body by an empty line to reduce the convenience of creating a flawed tag. Signed-off-by: Brandon Casey Signed-off-by: Junio C Hamano --- t/t3800-mktag.sh | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 124 insertions(+), 5 deletions(-) (limited to 't') diff --git a/t/t3800-mktag.sh b/t/t3800-mktag.sh index bdc6e132ca..8a27400754 100755 --- a/t/t3800-mktag.sh +++ b/t/t3800-mktag.sh @@ -44,6 +44,8 @@ cat >tag.sig < 0 +0000 + EOF check_verify_failure '"object" line label check' '^error: char0: .*"object "$' @@ -55,6 +57,8 @@ cat >tag.sig < 0 +0000 + EOF check_verify_failure '"object" line SHA1 check' '^error: char7: .*SHA1 hash$' @@ -66,6 +70,8 @@ cat >tag.sig < 0 +0000 + EOF check_verify_failure '"type" line label check' '^error: char47: .*"\\ntype "$' @@ -85,6 +91,8 @@ cat >tag.sig < 0 +0000 + EOF check_verify_failure '"tag" line label check #1' \ @@ -121,6 +129,8 @@ cat >tag.sig < 0 +0000 + EOF check_verify_failure 'verify object (SHA1/type) check' \ @@ -133,6 +143,8 @@ cat >tag.sig < 0 +0000 + EOF check_verify_failure 'verify tag-name check' \ @@ -145,10 +157,12 @@ cat >tag.sig <tag.sig < 0 +0000 + +This is filler +EOF + +check_verify_failure 'detect missing tag author name' \ + '^error: char77: missing tagger name$' + +############################################################ +# 14. detect missing tag author name + +cat >tag.sig < 0 +0000 + +EOF + +check_verify_failure 'detect malformed tagger' \ + '^error: char77: malformed tagger$' + +############################################################ +# 15. allow empty tag email + +cat >tag.sig < 0 +0000 + +EOF + +test_expect_success \ + 'allow empty tag email' \ + 'git-mktag .git/refs/tags/mytag 2>message' + +############################################################ +# 16. detect missing tag timestamp + +cat >tag.sig < + +EOF + +check_verify_failure 'detect missing tag timestamp' \ + '^error: char107: malformed tag timestamp$' + +############################################################ +# 17. detect invalid tag timestamp + +cat >tag.sig < Tue Mar 25 15:47:44 2008 + +EOF + +check_verify_failure 'detect invalid tag timestamp' \ + '^error: char108: malformed tag timestamp$' + +############################################################ +# 18. detect invalid tag timezone + +cat >tag.sig < 1206478233 GMT + +EOF + +check_verify_failure 'detect invalid tag timezone' \ + '^error: char118: malformed tag timezone$' + +############################################################ +# 19. detect invalid header entry + +cat >tag.sig < 1206478233 -0500 +this line should not be here + +EOF + +check_verify_failure 'detect invalid header entry' \ + '^error: char124: trailing garbage in tag header$' + +############################################################ +# 20. create valid tag + +cat >tag.sig < 1206478233 -0500 + EOF test_expect_success \ @@ -178,7 +297,7 @@ test_expect_success \ 'git-mktag .git/refs/tags/mytag 2>message' ############################################################ -# 14. check mytag +# 21. check mytag test_expect_success \ 'check mytag' \ -- cgit v1.2.3