diff options
author | Carlos Martín Nieto <carlosmn@github.com> | 2019-10-30 20:35:48 +0100 |
---|---|---|
committer | Carlos Martín Nieto <carlosmn@github.com> | 2019-10-30 20:35:48 +0100 |
commit | 0974e02f138b72d4255414f0381bde18a253ddf9 (patch) | |
tree | a325757ae04f56e5a2859c7c99e248fa19db3f21 | |
parent | 2a7d6de3350c9479b1094cf1ce96ee4c9c3b6c3c (diff) | |
download | libgit2-0974e02f138b72d4255414f0381bde18a253ddf9.tar.gz |
commit: add failing tests for object checking for git_commit_with_signature
There can be a significant difference between the system where we created the
buffer (if at all) and when the caller provides us with the contents of a
commit.
Provide some test cases (we have to adapt the existing ones because they refer
to trees and commits which do not exist).
-rw-r--r-- | tests/commit/write.c | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/tests/commit/write.c b/tests/commit/write.c index d829c973d..2c2278546 100644 --- a/tests/commit/write.c +++ b/tests/commit/write.c @@ -299,19 +299,43 @@ void test_commit_write__can_validate_objects(void) cl_git_fail(create_commit_from_ids(&commit_id, &tree_id, &parent_id)); } -void test_commit_write__attach_singleline_signature(void) +void test_commit_write__attach_signature_checks_objects(void) { const char *sig = "magic word: pretty please"; + const char *badtree = "tree 6b79e22d69bf46e289df0345a14ca059dfc9bdf6\n\ +parent 34734e478d6cf50c27c9d69026d93974d052c454\n\ +author Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\ +committer Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\ +\n\ +a simple commit which does not work\n"; - const char *data = "tree 6b79e22d69bf46e289df0345a14ca059dfc9bdf6\n\ + const char *badparent = "tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904\n\ parent 34734e478d6cf50c27c9d69026d93974d052c454\n\ author Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\ committer Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\ \n\ +a simple commit which does not work\n"; + + git_oid id; + + cl_git_fail_with(-1, git_commit_create_with_signature(&id, g_repo, badtree, sig, "magicsig")); + cl_git_fail_with(-1, git_commit_create_with_signature(&id, g_repo, badparent, sig, "magicsig")); + +} + +void test_commit_write__attach_singleline_signature(void) +{ + const char *sig = "magic word: pretty please"; + + const char *data = "tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904\n\ +parent 8496071c1b46c854b31185ea97743be6a8774479\n\ +author Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\ +committer Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\ +\n\ a simple commit which works\n"; - const char *complete = "tree 6b79e22d69bf46e289df0345a14ca059dfc9bdf6\n\ -parent 34734e478d6cf50c27c9d69026d93974d052c454\n\ + const char *complete = "tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904\n\ +parent 8496071c1b46c854b31185ea97743be6a8774479\n\ author Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\ committer Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\ magicsig magic word: pretty please\n\ @@ -352,15 +376,15 @@ cpxtDQQMGYFpXK/71stq\n\ =ozeK\n\ -----END PGP SIGNATURE-----"; - const char *data = "tree 6b79e22d69bf46e289df0345a14ca059dfc9bdf6\n\ -parent 34734e478d6cf50c27c9d69026d93974d052c454\n\ + const char *data = "tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904\n\ +parent 8496071c1b46c854b31185ea97743be6a8774479\n\ author Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\ committer Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\ \n\ a simple commit which works\n"; -const char *complete = "tree 6b79e22d69bf46e289df0345a14ca059dfc9bdf6\n\ -parent 34734e478d6cf50c27c9d69026d93974d052c454\n\ +const char *complete = "tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904\n\ +parent 8496071c1b46c854b31185ea97743be6a8774479\n\ author Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\ committer Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\ gpgsig -----BEGIN PGP SIGNATURE-----\n\ |