Add tests for various whitespace edge cases around the header/body boundary, such as two newlines separating the header and body, a space at the end of the "tagger" line before the header etc. Add a test showing that we insist that an empty body must be preceded by an empty line. This test for a long-standing regression which goes against the command's documented behavior. It'll be addressed in a follow-up change. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- t/t3800-mktag.sh | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/t/t3800-mktag.sh b/t/t3800-mktag.sh index b6dcdbebe6..f339321be8 100755 --- a/t/t3800-mktag.sh +++ b/t/t3800-mktag.sh @@ -372,6 +372,54 @@ EOF check_verify_failure 'detect invalid header entry' \ '^error: char.*: trailing garbage in tag header$' +cat >tag.sig <<EOF +object $head +type commit +tag mytag +tagger T A Gger <tagger@xxxxxxxxxxx> 1206478233 -0500 + + +this line comes after an extra newline +EOF + +test_expect_success 'allow extra newlines at start of body' ' + git mktag <tag.sig +' + +cat >tag.sig <<EOF +object $head +type commit +tag mytag +tagger T A Gger <tagger@xxxxxxxxxxx> 1206478233 -0500 + +EOF + +test_expect_success 'allow extra newlines at end of headers' ' + git mktag <tag.sig +' + +space=' ' +cat >tag.sig <<EOF +object $head +type commit +tag mytag +tagger T A Gger <tagger@xxxxxxxxxxx> 1206478233 -0500$space + +EOF + +check_verify_failure 'extra whitespace at end of headers' \ + '^error: char.*: malformed tag timezone$' + +cat >tag.sig <<EOF +object $head +type commit +tag mytag +tagger T A Gger <tagger@xxxxxxxxxxx> 1206478233 -0500 +EOF + +check_verify_failure 'disallow no header / body newline separator' \ + '^error: char.*: trailing garbage in tag header$' + ############################################################ # 24. create valid tag -- 2.29.2.222.g5d2a92d10f8