On Mon, Jun 16, 2014 at 04:13:11PM -0400, Jeff King wrote: > It doesn't look like we have any tests of "%G*" and friends at all. :( Maybe we can add this: -- >8 -- Subject: t7510: check %G* pretty-format output We do not check these along with the other pretty-format placeholders in t6006, because we need signed commits to make them interesting. t7510 has such commits, and can easily exercise them in addition to the regular --show-signature code path. Signed-off-by: Jeff King <peff@xxxxxxxx> --- I explicitly avoided "%GG" here, as its exact format is dependent on gpg (and the current date). I don't know that it is worth the complexity to test, as the interesting parts are already parsed from it and exposed in the other placeholders. t/t7510-signed-commit.sh | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/t/t7510-signed-commit.sh b/t/t7510-signed-commit.sh index 5ddac1a..2f96937 100755 --- a/t/t7510-signed-commit.sh +++ b/t/t7510-signed-commit.sh @@ -76,6 +76,42 @@ test_expect_success GPG 'detect fudged signature' ' ! grep "Good signature from" actual1 ' +test_expect_success GPG 'show good signature with custom format' ' + cat >expect <<-\EOF + G + 13B6F51ECDDE430D + C O Mitter <committer@xxxxxxxxxxx> + EOF + git log -1 --format="%G?%n%GK%n%GS" master >actual && + test_cmp expect actual +' + +test_expect_success GPG 'show bad signature with custom format' ' + cat >expect <<-\EOF + B + 13B6F51ECDDE430D + C O Mitter <committer@xxxxxxxxxxx> + EOF + git log -1 --format="%G?%n%GK%n%GS" $(cat forged1.commit) >actual && + test_cmp expect actual +' + +test_expect_success GPG 'show lack of signature with custom format' ' + cat >expect <<-\EOF + N + + + EOF + git log -1 --format="%G?%n%GK%n%GS" seventh-unsigned >actual && + test_cmp expect actual +' + +test_expect_success 'unused %G placeholders are passed through' ' + echo "%GX %G" >expect && + git log -1 --format="%GX %G" >actual && + test_cmp expect actual +' + test_expect_success GPG 'detect fudged signature with NUL' ' git cat-file commit master >raw && cat raw >forged2 && -- 2.0.0.566.gfe3e6b2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html