Fixed brace placement and converted spaces to tabs.
[libgit2.git] / tests / t0103-objhash.c
blob83131fe4c37bbc26706764ee63732315906beb89
2 #include "test_lib.h"
3 #include <git/odb.h>
5 static char *commit_id = "3d7f8a6af076c8c3f20071a8935cdbe8228594d1";
7 static unsigned char commit_data[] = {
8 0x74, 0x72, 0x65, 0x65, 0x20, 0x64, 0x66, 0x66,
9 0x32, 0x64, 0x61, 0x39, 0x30, 0x62, 0x32, 0x35,
10 0x34, 0x65, 0x31, 0x62, 0x65, 0x62, 0x38, 0x38,
11 0x39, 0x64, 0x31, 0x66, 0x31, 0x66, 0x31, 0x32,
12 0x38, 0x38, 0x62, 0x65, 0x31, 0x38, 0x30, 0x33,
13 0x37, 0x38, 0x32, 0x64, 0x66, 0x0a, 0x61, 0x75,
14 0x74, 0x68, 0x6f, 0x72, 0x20, 0x41, 0x20, 0x55,
15 0x20, 0x54, 0x68, 0x6f, 0x72, 0x20, 0x3c, 0x61,
16 0x75, 0x74, 0x68, 0x6f, 0x72, 0x40, 0x65, 0x78,
17 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
18 0x6d, 0x3e, 0x20, 0x31, 0x32, 0x32, 0x37, 0x38,
19 0x31, 0x34, 0x32, 0x39, 0x37, 0x20, 0x2b, 0x30,
20 0x30, 0x30, 0x30, 0x0a, 0x63, 0x6f, 0x6d, 0x6d,
21 0x69, 0x74, 0x74, 0x65, 0x72, 0x20, 0x43, 0x20,
22 0x4f, 0x20, 0x4d, 0x69, 0x74, 0x74, 0x65, 0x72,
23 0x20, 0x3c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
24 0x74, 0x65, 0x72, 0x40, 0x65, 0x78, 0x61, 0x6d,
25 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x3e,
26 0x20, 0x31, 0x32, 0x32, 0x37, 0x38, 0x31, 0x34,
27 0x32, 0x39, 0x37, 0x20, 0x2b, 0x30, 0x30, 0x30,
28 0x30, 0x0a, 0x0a, 0x41, 0x20, 0x6f, 0x6e, 0x65,
29 0x2d, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x63, 0x6f,
30 0x6d, 0x6d, 0x69, 0x74, 0x20, 0x73, 0x75, 0x6d,
31 0x6d, 0x61, 0x72, 0x79, 0x0a, 0x0a, 0x54, 0x68,
32 0x65, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x6f,
33 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f,
34 0x6d, 0x6d, 0x69, 0x74, 0x20, 0x6d, 0x65, 0x73,
35 0x73, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x63, 0x6f,
36 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
37 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72,
38 0x20, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61,
39 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x6f, 0x66, 0x20,
40 0x74, 0x68, 0x65, 0x20, 0x70, 0x75, 0x72, 0x70,
41 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74,
42 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67,
43 0x65, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x6f,
44 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x62, 0x79,
45 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d,
46 0x6d, 0x69, 0x74, 0x2e, 0x0a, 0x0a, 0x53, 0x69,
47 0x67, 0x6e, 0x65, 0x64, 0x2d, 0x6f, 0x66, 0x2d,
48 0x62, 0x79, 0x3a, 0x20, 0x41, 0x20, 0x55, 0x20,
49 0x54, 0x68, 0x6f, 0x72, 0x20, 0x3c, 0x61, 0x75,
50 0x74, 0x68, 0x6f, 0x72, 0x40, 0x65, 0x78, 0x61,
51 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d,
52 0x3e, 0x0a,
55 static git_obj commit_obj = {
56 commit_data,
57 sizeof(commit_data),
58 GIT_OBJ_COMMIT
61 static char *tree_id = "dff2da90b254e1beb889d1f1f1288be1803782df";
63 static unsigned char tree_data[] = {
64 0x31, 0x30, 0x30, 0x36, 0x34, 0x34, 0x20, 0x6f,
65 0x6e, 0x65, 0x00, 0x8b, 0x13, 0x78, 0x91, 0x79,
66 0x1f, 0xe9, 0x69, 0x27, 0xad, 0x78, 0xe6, 0x4b,
67 0x0a, 0xad, 0x7b, 0xde, 0xd0, 0x8b, 0xdc, 0x31,
68 0x30, 0x30, 0x36, 0x34, 0x34, 0x20, 0x73, 0x6f,
69 0x6d, 0x65, 0x00, 0xfd, 0x84, 0x30, 0xbc, 0x86,
70 0x4c, 0xfc, 0xd5, 0xf1, 0x0e, 0x55, 0x90, 0xf8,
71 0xa4, 0x47, 0xe0, 0x1b, 0x94, 0x2b, 0xfe, 0x31,
72 0x30, 0x30, 0x36, 0x34, 0x34, 0x20, 0x74, 0x77,
73 0x6f, 0x00, 0x78, 0x98, 0x19, 0x22, 0x61, 0x3b,
74 0x2a, 0xfb, 0x60, 0x25, 0x04, 0x2f, 0xf6, 0xbd,
75 0x87, 0x8a, 0xc1, 0x99, 0x4e, 0x85, 0x31, 0x30,
76 0x30, 0x36, 0x34, 0x34, 0x20, 0x7a, 0x65, 0x72,
77 0x6f, 0x00, 0xe6, 0x9d, 0xe2, 0x9b, 0xb2, 0xd1,
78 0xd6, 0x43, 0x4b, 0x8b, 0x29, 0xae, 0x77, 0x5a,
79 0xd8, 0xc2, 0xe4, 0x8c, 0x53, 0x91,
82 static git_obj tree_obj = {
83 tree_data,
84 sizeof(tree_data),
85 GIT_OBJ_TREE
88 static char *tag_id = "09d373e1dfdc16b129ceec6dd649739911541e05";
90 static unsigned char tag_data[] = {
91 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x33,
92 0x64, 0x37, 0x66, 0x38, 0x61, 0x36, 0x61, 0x66,
93 0x30, 0x37, 0x36, 0x63, 0x38, 0x63, 0x33, 0x66,
94 0x32, 0x30, 0x30, 0x37, 0x31, 0x61, 0x38, 0x39,
95 0x33, 0x35, 0x63, 0x64, 0x62, 0x65, 0x38, 0x32,
96 0x32, 0x38, 0x35, 0x39, 0x34, 0x64, 0x31, 0x0a,
97 0x74, 0x79, 0x70, 0x65, 0x20, 0x63, 0x6f, 0x6d,
98 0x6d, 0x69, 0x74, 0x0a, 0x74, 0x61, 0x67, 0x20,
99 0x76, 0x30, 0x2e, 0x30, 0x2e, 0x31, 0x0a, 0x74,
100 0x61, 0x67, 0x67, 0x65, 0x72, 0x20, 0x43, 0x20,
101 0x4f, 0x20, 0x4d, 0x69, 0x74, 0x74, 0x65, 0x72,
102 0x20, 0x3c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
103 0x74, 0x65, 0x72, 0x40, 0x65, 0x78, 0x61, 0x6d,
104 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x3e,
105 0x20, 0x31, 0x32, 0x32, 0x37, 0x38, 0x31, 0x34,
106 0x32, 0x39, 0x37, 0x20, 0x2b, 0x30, 0x30, 0x30,
107 0x30, 0x0a, 0x0a, 0x54, 0x68, 0x69, 0x73, 0x20,
108 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74,
109 0x61, 0x67, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63,
110 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65,
111 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x76, 0x30,
112 0x2e, 0x30, 0x2e, 0x31, 0x0a,
115 static git_obj tag_obj = {
116 tag_data,
117 sizeof(tag_data),
118 GIT_OBJ_TAG
121 static char *zero_id = "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391";
123 static unsigned char zero_data[] = {
124 0x00 /* dummy data */
127 static git_obj zero_obj = {
128 zero_data,
130 GIT_OBJ_BLOB
133 static char *one_id = "8b137891791fe96927ad78e64b0aad7bded08bdc";
135 static unsigned char one_data[] = {
136 0x0a,
139 static git_obj one_obj = {
140 one_data,
141 sizeof(one_data),
142 GIT_OBJ_BLOB
145 static char *two_id = "78981922613b2afb6025042ff6bd878ac1994e85";
147 static unsigned char two_data[] = {
148 0x61, 0x0a,
151 static git_obj two_obj = {
152 two_data,
153 sizeof(two_data),
154 GIT_OBJ_BLOB
157 static char *some_id = "fd8430bc864cfcd5f10e5590f8a447e01b942bfe";
159 static unsigned char some_data[] = {
160 0x2f, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x54, 0x68,
161 0x69, 0x73, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20,
162 0x69, 0x73, 0x20, 0x66, 0x72, 0x65, 0x65, 0x20,
163 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
164 0x3b, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x63, 0x61,
165 0x6e, 0x20, 0x72, 0x65, 0x64, 0x69, 0x73, 0x74,
166 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x69,
167 0x74, 0x20, 0x61, 0x6e, 0x64, 0x2f, 0x6f, 0x72,
168 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x0a,
169 0x20, 0x2a, 0x20, 0x69, 0x74, 0x20, 0x75, 0x6e,
170 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20,
171 0x74, 0x65, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66,
172 0x20, 0x74, 0x68, 0x65, 0x20, 0x47, 0x4e, 0x55,
173 0x20, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c,
174 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20,
175 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2c,
176 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
177 0x20, 0x32, 0x2c, 0x0a, 0x20, 0x2a, 0x20, 0x61,
178 0x73, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73,
179 0x68, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74,
180 0x68, 0x65, 0x20, 0x46, 0x72, 0x65, 0x65, 0x20,
181 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
182 0x20, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74,
183 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x2a, 0x0a,
184 0x20, 0x2a, 0x20, 0x49, 0x6e, 0x20, 0x61, 0x64,
185 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74,
186 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65,
187 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
188 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65,
189 0x20, 0x47, 0x4e, 0x55, 0x20, 0x47, 0x65, 0x6e,
190 0x65, 0x72, 0x61, 0x6c, 0x20, 0x50, 0x75, 0x62,
191 0x6c, 0x69, 0x63, 0x20, 0x4c, 0x69, 0x63, 0x65,
192 0x6e, 0x73, 0x65, 0x2c, 0x0a, 0x20, 0x2a, 0x20,
193 0x74, 0x68, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68,
194 0x6f, 0x72, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65,
195 0x20, 0x79, 0x6f, 0x75, 0x20, 0x75, 0x6e, 0x6c,
196 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x20, 0x70,
197 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
198 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x69, 0x6e,
199 0x6b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f,
200 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x0a, 0x20,
201 0x2a, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
202 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69,
203 0x73, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x69,
204 0x6e, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6d, 0x62,
205 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
206 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6f, 0x74,
207 0x68, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x67,
208 0x72, 0x61, 0x6d, 0x73, 0x2c, 0x0a, 0x20, 0x2a,
209 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20,
210 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75,
211 0x74, 0x65, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65,
212 0x20, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61,
213 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x77, 0x69,
214 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e,
215 0x79, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69,
216 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x2a,
217 0x20, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x20,
218 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65,
219 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20,
220 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x6c,
221 0x65, 0x2e, 0x20, 0x20, 0x28, 0x54, 0x68, 0x65,
222 0x20, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c,
223 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20,
224 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x0a,
225 0x20, 0x2a, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72,
226 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
227 0x64, 0x6f, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79,
228 0x20, 0x69, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65,
229 0x72, 0x20, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63,
230 0x74, 0x73, 0x3b, 0x20, 0x66, 0x6f, 0x72, 0x20,
231 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c,
232 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x63, 0x6f,
233 0x76, 0x65, 0x72, 0x0a, 0x20, 0x2a, 0x20, 0x6d,
234 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
235 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74,
236 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2c,
237 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x69, 0x73,
238 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
239 0x6e, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6e,
240 0x6f, 0x74, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x65,
241 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x0a, 0x20,
242 0x2a, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x62,
243 0x69, 0x6e, 0x65, 0x64, 0x20, 0x65, 0x78, 0x65,
244 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e,
245 0x29, 0x0a, 0x20, 0x2a, 0x0a, 0x20, 0x2a, 0x20,
246 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x6c,
247 0x65, 0x20, 0x69, 0x73, 0x20, 0x64, 0x69, 0x73,
248 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64,
249 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20,
250 0x68, 0x6f, 0x70, 0x65, 0x20, 0x74, 0x68, 0x61,
251 0x74, 0x20, 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c,
252 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65,
253 0x66, 0x75, 0x6c, 0x2c, 0x20, 0x62, 0x75, 0x74,
254 0x0a, 0x20, 0x2a, 0x20, 0x57, 0x49, 0x54, 0x48,
255 0x4f, 0x55, 0x54, 0x20, 0x41, 0x4e, 0x59, 0x20,
256 0x57, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x54, 0x59,
257 0x3b, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75,
258 0x74, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x74,
259 0x68, 0x65, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x69,
260 0x65, 0x64, 0x20, 0x77, 0x61, 0x72, 0x72, 0x61,
261 0x6e, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x0a, 0x20,
262 0x2a, 0x20, 0x4d, 0x45, 0x52, 0x43, 0x48, 0x41,
263 0x4e, 0x54, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
264 0x59, 0x20, 0x6f, 0x72, 0x20, 0x46, 0x49, 0x54,
265 0x4e, 0x45, 0x53, 0x53, 0x20, 0x46, 0x4f, 0x52,
266 0x20, 0x41, 0x20, 0x50, 0x41, 0x52, 0x54, 0x49,
267 0x43, 0x55, 0x4c, 0x41, 0x52, 0x20, 0x50, 0x55,
268 0x52, 0x50, 0x4f, 0x53, 0x45, 0x2e, 0x20, 0x20,
269 0x53, 0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20,
270 0x47, 0x4e, 0x55, 0x0a, 0x20, 0x2a, 0x20, 0x47,
271 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x50,
272 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x4c, 0x69,
273 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x6f,
274 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x64,
275 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x0a,
276 0x20, 0x2a, 0x0a, 0x20, 0x2a, 0x20, 0x59, 0x6f,
277 0x75, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64,
278 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x72, 0x65,
279 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x61,
280 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66,
281 0x20, 0x74, 0x68, 0x65, 0x20, 0x47, 0x4e, 0x55,
282 0x20, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c,
283 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20,
284 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x0a,
285 0x20, 0x2a, 0x20, 0x61, 0x6c, 0x6f, 0x6e, 0x67,
286 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68,
287 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72,
288 0x61, 0x6d, 0x3b, 0x20, 0x73, 0x65, 0x65, 0x20,
289 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65,
290 0x20, 0x43, 0x4f, 0x50, 0x59, 0x49, 0x4e, 0x47,
291 0x2e, 0x20, 0x20, 0x49, 0x66, 0x20, 0x6e, 0x6f,
292 0x74, 0x2c, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65,
293 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x2a, 0x20, 0x74,
294 0x68, 0x65, 0x20, 0x46, 0x72, 0x65, 0x65, 0x20,
295 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
296 0x20, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74,
297 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x35, 0x31, 0x20,
298 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x6c, 0x69, 0x6e,
299 0x20, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x2c,
300 0x20, 0x46, 0x69, 0x66, 0x74, 0x68, 0x20, 0x46,
301 0x6c, 0x6f, 0x6f, 0x72, 0x2c, 0x0a, 0x20, 0x2a,
302 0x20, 0x42, 0x6f, 0x73, 0x74, 0x6f, 0x6e, 0x2c,
303 0x20, 0x4d, 0x41, 0x20, 0x30, 0x32, 0x31, 0x31,
304 0x30, 0x2d, 0x31, 0x33, 0x30, 0x31, 0x2c, 0x20,
305 0x55, 0x53, 0x41, 0x2e, 0x0a, 0x20, 0x2a, 0x2f,
306 0x0a,
309 static git_obj some_obj = {
310 some_data,
311 sizeof(some_data),
312 GIT_OBJ_BLOB
315 static git_obj junk_obj = {
316 NULL,
318 GIT_OBJ_BAD
322 BEGIN_TEST(hash_junk)
323 git_oid id, id_zero;
325 must_pass(git_oid_mkstr(&id_zero, zero_id));
327 /* invalid types: */
328 junk_obj.data = some_data;
329 must_fail(git_obj_hash(&id, &junk_obj));
331 junk_obj.type = GIT_OBJ__EXT1;
332 must_fail(git_obj_hash(&id, &junk_obj));
334 junk_obj.type = GIT_OBJ__EXT2;
335 must_fail(git_obj_hash(&id, &junk_obj));
337 junk_obj.type = GIT_OBJ_OFS_DELTA;
338 must_fail(git_obj_hash(&id, &junk_obj));
340 junk_obj.type = GIT_OBJ_REF_DELTA;
341 must_fail(git_obj_hash(&id, &junk_obj));
343 /* data can be NULL only if len is zero: */
344 junk_obj.type = GIT_OBJ_BLOB;
345 junk_obj.data = NULL;
346 must_pass(git_obj_hash(&id, &junk_obj));
347 must_be_true(git_oid_cmp(&id, &id_zero) == 0);
349 junk_obj.len = 1;
350 must_fail(git_obj_hash(&id, &junk_obj));
351 END_TEST
353 BEGIN_TEST(hash_commit)
354 git_oid id1, id2;
356 must_pass(git_oid_mkstr(&id1, commit_id));
358 must_pass(git_obj_hash(&id2, &commit_obj));
360 must_be_true(git_oid_cmp(&id1, &id2) == 0);
361 END_TEST
363 BEGIN_TEST(hash_tree)
364 git_oid id1, id2;
366 must_pass(git_oid_mkstr(&id1, tree_id));
368 must_pass(git_obj_hash(&id2, &tree_obj));
370 must_be_true(git_oid_cmp(&id1, &id2) == 0);
371 END_TEST
373 BEGIN_TEST(hash_tag)
374 git_oid id1, id2;
376 must_pass(git_oid_mkstr(&id1, tag_id));
378 must_pass(git_obj_hash(&id2, &tag_obj));
380 must_be_true(git_oid_cmp(&id1, &id2) == 0);
381 END_TEST
383 BEGIN_TEST(hash_zero)
384 git_oid id1, id2;
386 must_pass(git_oid_mkstr(&id1, zero_id));
388 must_pass(git_obj_hash(&id2, &zero_obj));
390 must_be_true(git_oid_cmp(&id1, &id2) == 0);
391 END_TEST
393 BEGIN_TEST(hash_one)
394 git_oid id1, id2;
396 must_pass(git_oid_mkstr(&id1, one_id));
398 must_pass(git_obj_hash(&id2, &one_obj));
400 must_be_true(git_oid_cmp(&id1, &id2) == 0);
401 END_TEST
403 BEGIN_TEST(hash_two)
404 git_oid id1, id2;
406 must_pass(git_oid_mkstr(&id1, two_id));
408 must_pass(git_obj_hash(&id2, &two_obj));
410 must_be_true(git_oid_cmp(&id1, &id2) == 0);
411 END_TEST
413 BEGIN_TEST(hash_some)
414 git_oid id1, id2;
416 must_pass(git_oid_mkstr(&id1, some_id));
418 must_pass(git_obj_hash(&id2, &some_obj));
420 must_be_true(git_oid_cmp(&id1, &id2) == 0);
421 END_TEST