]> git.proxmox.com Git - libgit2.git/blame - tests/libgit2/object/validate.c
Merge https://salsa.debian.org/debian/libgit2 into proxmox/bullseye
[libgit2.git] / tests / libgit2 / object / validate.c
CommitLineData
e579e0f7
MB
1#include "clar_libgit2.h"
2
3#define VALID_COMMIT "tree bdd24e358576f1baa275df98cdcaf3ac9a3f4233\n" \
4 "parent d6d956f1d66210bfcd0484166befab33b5987a39\n" \
5 "author Edward Thomson <ethomson@edwardthomson.com> 1638286404 -0500\n" \
6 "committer Edward Thomson <ethomson@edwardthomson.com> 1638324642 -0500\n" \
7 "\n" \
8 "commit go here.\n"
9#define VALID_TREE "100644 HEADER\0\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42"
10
11#define INVALID_COMMIT "tree bdd24e358576f1baa275df98cdcaf3ac9a3f4233\n" \
12 "parent d6d956f1d66210bfcd0484166befab33b5987a39\n" \
13 "committer Edward Thomson <ethomson@edwardthomson.com> 1638324642 -0500\n" \
14 "\n" \
15 "commit go here.\n"
16#define INVALID_TREE "100644 HEADER \x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42\x42"
17
18void test_object_validate__valid(void)
19{
20 int valid;
21
22 cl_git_pass(git_object_rawcontent_is_valid(&valid, "", 0, GIT_OBJECT_BLOB));
23 cl_assert_equal_i(1, valid);
24
25 cl_git_pass(git_object_rawcontent_is_valid(&valid, "foobar", 0, GIT_OBJECT_BLOB));
26 cl_assert_equal_i(1, valid);
27
28 cl_git_pass(git_object_rawcontent_is_valid(&valid, VALID_COMMIT, CONST_STRLEN(VALID_COMMIT), GIT_OBJECT_COMMIT));
29 cl_assert_equal_i(1, valid);
30
31 cl_git_pass(git_object_rawcontent_is_valid(&valid, VALID_TREE, CONST_STRLEN(VALID_TREE), GIT_OBJECT_TREE));
32 cl_assert_equal_i(1, valid);
33}
34
35void test_object_validate__invalid(void)
36{
37 int valid;
38
39 cl_git_pass(git_object_rawcontent_is_valid(&valid, "", 0, GIT_OBJECT_COMMIT));
40 cl_assert_equal_i(0, valid);
41
42 cl_git_pass(git_object_rawcontent_is_valid(&valid, "foobar", 0, GIT_OBJECT_COMMIT));
43 cl_assert_equal_i(0, valid);
44
45 cl_git_pass(git_object_rawcontent_is_valid(&valid, INVALID_COMMIT, CONST_STRLEN(INVALID_COMMIT), GIT_OBJECT_COMMIT));
46 cl_assert_equal_i(0, valid);
47
48 cl_git_pass(git_object_rawcontent_is_valid(&valid, INVALID_TREE, CONST_STRLEN(INVALID_TREE), GIT_OBJECT_TREE));
49 cl_assert_equal_i(0, valid);
50}