Skip to content

Commit 0974e02

Browse files
committed
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).
1 parent 2a7d6de commit 0974e02

File tree

1 file changed

+32
-8
lines changed

1 file changed

+32
-8
lines changed

tests/commit/write.c

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -299,19 +299,43 @@ void test_commit_write__can_validate_objects(void)
299299
cl_git_fail(create_commit_from_ids(&commit_id, &tree_id, &parent_id));
300300
}
301301

302-
void test_commit_write__attach_singleline_signature(void)
302+
void test_commit_write__attach_signature_checks_objects(void)
303303
{
304304
const char *sig = "magic word: pretty please";
305+
const char *badtree = "tree 6b79e22d69bf46e289df0345a14ca059dfc9bdf6\n\
306+
parent 34734e478d6cf50c27c9d69026d93974d052c454\n\
307+
author Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\
308+
committer Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\
309+
\n\
310+
a simple commit which does not work\n";
305311

306-
const char *data = "tree 6b79e22d69bf46e289df0345a14ca059dfc9bdf6\n\
312+
const char *badparent = "tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904\n\
307313
parent 34734e478d6cf50c27c9d69026d93974d052c454\n\
308314
author Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\
309315
committer Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\
310316
\n\
317+
a simple commit which does not work\n";
318+
319+
git_oid id;
320+
321+
cl_git_fail_with(-1, git_commit_create_with_signature(&id, g_repo, badtree, sig, "magicsig"));
322+
cl_git_fail_with(-1, git_commit_create_with_signature(&id, g_repo, badparent, sig, "magicsig"));
323+
324+
}
325+
326+
void test_commit_write__attach_singleline_signature(void)
327+
{
328+
const char *sig = "magic word: pretty please";
329+
330+
const char *data = "tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904\n\
331+
parent 8496071c1b46c854b31185ea97743be6a8774479\n\
332+
author Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\
333+
committer Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\
334+
\n\
311335
a simple commit which works\n";
312336

313-
const char *complete = "tree 6b79e22d69bf46e289df0345a14ca059dfc9bdf6\n\
314-
parent 34734e478d6cf50c27c9d69026d93974d052c454\n\
337+
const char *complete = "tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904\n\
338+
parent 8496071c1b46c854b31185ea97743be6a8774479\n\
315339
author Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\
316340
committer Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\
317341
magicsig magic word: pretty please\n\
@@ -352,15 +376,15 @@ cpxtDQQMGYFpXK/71stq\n\
352376
=ozeK\n\
353377
-----END PGP SIGNATURE-----";
354378

355-
const char *data = "tree 6b79e22d69bf46e289df0345a14ca059dfc9bdf6\n\
356-
parent 34734e478d6cf50c27c9d69026d93974d052c454\n\
379+
const char *data = "tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904\n\
380+
parent 8496071c1b46c854b31185ea97743be6a8774479\n\
357381
author Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\
358382
committer Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\
359383
\n\
360384
a simple commit which works\n";
361385

362-
const char *complete = "tree 6b79e22d69bf46e289df0345a14ca059dfc9bdf6\n\
363-
parent 34734e478d6cf50c27c9d69026d93974d052c454\n\
386+
const char *complete = "tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904\n\
387+
parent 8496071c1b46c854b31185ea97743be6a8774479\n\
364388
author Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\
365389
committer Ben Burkert <ben@benburkert.com> 1358451456 -0800\n\
366390
gpgsig -----BEGIN PGP SIGNATURE-----\n\

0 commit comments

Comments
 (0)