]>
Commit | Line | Data |
---|---|---|
507523c3 CMN |
1 | #include "clar_libgit2.h" |
2 | #include "odb.h" | |
3 | #include "pack_data_one.h" | |
4 | #include "pack.h" | |
5 | ||
6 | static git_odb *_odb; | |
7 | ||
8 | void test_odb_packed_one__initialize(void) | |
9 | { | |
10 | git_odb_backend *backend = NULL; | |
11 | ||
12 | cl_git_pass(git_odb_new(&_odb)); | |
13 | cl_git_pass(git_odb_backend_one_pack(&backend, cl_fixture("testrepo.git/objects/pack/pack-a81e489679b7d3418f9ab594bda8ceb37dd4c695.idx"))); | |
14 | cl_git_pass(git_odb_add_backend(_odb, backend, 1)); | |
15 | } | |
16 | ||
17 | void test_odb_packed_one__cleanup(void) | |
18 | { | |
19 | git_odb_free(_odb); | |
9094d30b | 20 | _odb = NULL; |
507523c3 CMN |
21 | } |
22 | ||
23 | void test_odb_packed_one__mass_read(void) | |
24 | { | |
25 | unsigned int i; | |
26 | ||
27 | for (i = 0; i < ARRAY_SIZE(packed_objects_one); ++i) { | |
28 | git_oid id; | |
29 | git_odb_object *obj; | |
30 | ||
31 | cl_git_pass(git_oid_fromstr(&id, packed_objects_one[i])); | |
32 | cl_assert(git_odb_exists(_odb, &id) == 1); | |
33 | cl_git_pass(git_odb_read(&obj, _odb, &id)); | |
34 | ||
35 | git_odb_object_free(obj); | |
36 | } | |
37 | } | |
38 | ||
39 | void test_odb_packed_one__read_header_0(void) | |
40 | { | |
41 | unsigned int i; | |
42 | ||
43 | for (i = 0; i < ARRAY_SIZE(packed_objects_one); ++i) { | |
44 | git_oid id; | |
45 | git_odb_object *obj; | |
46 | size_t len; | |
47 | git_otype type; | |
48 | ||
49 | cl_git_pass(git_oid_fromstr(&id, packed_objects_one[i])); | |
50 | ||
51 | cl_git_pass(git_odb_read(&obj, _odb, &id)); | |
52 | cl_git_pass(git_odb_read_header(&len, &type, _odb, &id)); | |
53 | ||
54 | cl_assert(obj->raw.len == len); | |
55 | cl_assert(obj->raw.type == type); | |
56 | ||
57 | git_odb_object_free(obj); | |
58 | } | |
59 | } |