aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_container_meta_data.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/test_container_meta_data.c')
-rw-r--r--src/util/test_container_meta_data.c256
1 files changed, 125 insertions, 131 deletions
diff --git a/src/util/test_container_meta_data.c b/src/util/test_container_meta_data.c
index 66f90ff10..fe1dd79c1 100644
--- a/src/util/test_container_meta_data.c
+++ b/src/util/test_container_meta_data.c
@@ -41,55 +41,51 @@ testMeta (int i)
41 41
42 m = GNUNET_CONTAINER_meta_data_create (); 42 m = GNUNET_CONTAINER_meta_data_create ();
43 if (GNUNET_OK != 43 if (GNUNET_OK !=
44 GNUNET_CONTAINER_meta_data_insert (m, "<test>", 44 GNUNET_CONTAINER_meta_data_insert (m, "<test>", EXTRACTOR_METATYPE_TITLE,
45 EXTRACTOR_METATYPE_TITLE, 45 EXTRACTOR_METAFORMAT_UTF8,
46 EXTRACTOR_METAFORMAT_UTF8, 46 "text/plain", "TestTitle",
47 "text/plain", "TestTitle", 47 strlen ("TestTitle") + 1))
48 strlen ("TestTitle") + 1))
49 ABORT (m); 48 ABORT (m);
50 if (GNUNET_OK != 49 if (GNUNET_OK !=
51 GNUNET_CONTAINER_meta_data_insert (m, "<test>", 50 GNUNET_CONTAINER_meta_data_insert (m, "<test>",
52 EXTRACTOR_METATYPE_AUTHOR_NAME, 51 EXTRACTOR_METATYPE_AUTHOR_NAME,
53 EXTRACTOR_METAFORMAT_UTF8, 52 EXTRACTOR_METAFORMAT_UTF8,
54 "text/plain", "TestTitle", 53 "text/plain", "TestTitle",
55 strlen ("TestTitle") + 1)) 54 strlen ("TestTitle") + 1))
56 ABORT (m); 55 ABORT (m);
57 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_insert (m, "<test>", EXTRACTOR_METATYPE_TITLE, EXTRACTOR_METAFORMAT_UTF8, "text/plain", "TestTitle", strlen ("TestTitle") + 1)) /* dup! */ 56 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_insert (m, "<test>", EXTRACTOR_METATYPE_TITLE, EXTRACTOR_METAFORMAT_UTF8, "text/plain", "TestTitle", strlen ("TestTitle") + 1)) /* dup! */
58 ABORT (m); 57 ABORT (m);
59 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_insert (m, "<test>", EXTRACTOR_METATYPE_AUTHOR_NAME, EXTRACTOR_METAFORMAT_UTF8, "text/plain", "TestTitle", strlen ("TestTitle") + 1)) /* dup! */ 58 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_insert (m, "<test>", EXTRACTOR_METATYPE_AUTHOR_NAME, EXTRACTOR_METAFORMAT_UTF8, "text/plain", "TestTitle", strlen ("TestTitle") + 1)) /* dup! */
60 ABORT (m); 59 ABORT (m);
61 if (2 != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL)) 60 if (2 != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL))
62 ABORT (m); 61 ABORT (m);
63 if (GNUNET_OK != 62 if (GNUNET_OK !=
64 GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_METATYPE_AUTHOR_NAME, 63 GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_METATYPE_AUTHOR_NAME,
65 "TestTitle", 64 "TestTitle", strlen ("TestTitle") + 1))
66 strlen ("TestTitle") + 1))
67 ABORT (m); 65 ABORT (m);
68 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_METATYPE_AUTHOR_NAME, "TestTitle", strlen ("TestTitle") + 1)) /* already gone */ 66 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_METATYPE_AUTHOR_NAME, "TestTitle", strlen ("TestTitle") + 1)) /* already gone */
69 ABORT (m); 67 ABORT (m);
70 if (1 != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL)) 68 if (1 != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL))
71 ABORT (m); 69 ABORT (m);
72 if (GNUNET_OK != 70 if (GNUNET_OK !=
73 GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_METATYPE_TITLE, 71 GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_METATYPE_TITLE,
74 "TestTitle", 72 "TestTitle", strlen ("TestTitle") + 1))
75 strlen ("TestTitle") + 1))
76 ABORT (m); 73 ABORT (m);
77 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_METATYPE_TITLE, "TestTitle", strlen ("TestTitle") + 1)) /* already gone */ 74 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_METATYPE_TITLE, "TestTitle", strlen ("TestTitle") + 1)) /* already gone */
78 ABORT (m); 75 ABORT (m);
79 if (0 != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL)) 76 if (0 != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL))
80 ABORT (m); 77 ABORT (m);
81 for (j = 0; j < i; j++) 78 for (j = 0; j < i; j++)
82 { 79 {
83 GNUNET_snprintf (val, sizeof (val), "%s.%d", 80 GNUNET_snprintf (val, sizeof (val), "%s.%d",
84 "A teststring that should compress well.", j); 81 "A teststring that should compress well.", j);
85 if (GNUNET_OK != 82 if (GNUNET_OK !=
86 GNUNET_CONTAINER_meta_data_insert (m, "<test>", 83 GNUNET_CONTAINER_meta_data_insert (m, "<test>",
87 EXTRACTOR_METATYPE_UNKNOWN, 84 EXTRACTOR_METATYPE_UNKNOWN,
88 EXTRACTOR_METAFORMAT_UTF8, 85 EXTRACTOR_METAFORMAT_UTF8,
89 "text/plain", val, 86 "text/plain", val, strlen (val) + 1))
90 strlen (val) + 1)) 87 ABORT (m);
91 ABORT (m); 88 }
92 }
93 if (i != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL)) 89 if (i != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL))
94 ABORT (m); 90 ABORT (m);
95 91
@@ -97,27 +93,27 @@ testMeta (int i)
97 sval = NULL; 93 sval = NULL;
98 if (size != 94 if (size !=
99 GNUNET_CONTAINER_meta_data_serialize (m, &sval, size, 95 GNUNET_CONTAINER_meta_data_serialize (m, &sval, size,
100 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL)) 96 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL))
101 { 97 {
102 GNUNET_free_non_null (sval); 98 GNUNET_free_non_null (sval);
103 ABORT (m); 99 ABORT (m);
104 } 100 }
105 GNUNET_CONTAINER_meta_data_destroy (m); 101 GNUNET_CONTAINER_meta_data_destroy (m);
106 m = GNUNET_CONTAINER_meta_data_deserialize (sval, size); 102 m = GNUNET_CONTAINER_meta_data_deserialize (sval, size);
107 GNUNET_free (sval); 103 GNUNET_free (sval);
108 if (m == NULL) 104 if (m == NULL)
109 ABORT (m); 105 ABORT (m);
110 for (j = 0; j < i; j++) 106 for (j = 0; j < i; j++)
107 {
108 GNUNET_snprintf (val, sizeof (val), "%s.%d",
109 "A teststring that should compress well.", j);
110 if (GNUNET_OK !=
111 GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_METATYPE_UNKNOWN, val,
112 strlen (val) + 1))
111 { 113 {
112 GNUNET_snprintf (val, sizeof (val), "%s.%d", 114 ABORT (m);
113 "A teststring that should compress well.", j);
114 if (GNUNET_OK !=
115 GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_METATYPE_UNKNOWN,
116 val, strlen (val) + 1))
117 {
118 ABORT (m);
119 }
120 } 115 }
116 }
121 if (0 != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL)) 117 if (0 != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL))
122 ABORT (m); 118 ABORT (m);
123 GNUNET_CONTAINER_meta_data_destroy (m); 119 GNUNET_CONTAINER_meta_data_destroy (m);
@@ -135,22 +131,22 @@ testMetaMore (int i)
135 131
136 meta = GNUNET_CONTAINER_meta_data_create (); 132 meta = GNUNET_CONTAINER_meta_data_create ();
137 for (q = 0; q <= i; q++) 133 for (q = 0; q <= i; q++)
138 { 134 {
139 GNUNET_snprintf (txt, 128, "%u -- %u\n", i, q); 135 GNUNET_snprintf (txt, 128, "%u -- %u\n", i, q);
140 GNUNET_CONTAINER_meta_data_insert (meta, "<test>", 136 GNUNET_CONTAINER_meta_data_insert (meta, "<test>",
141 q % EXTRACTOR_metatype_get_max (), 137 q % EXTRACTOR_metatype_get_max (),
142 EXTRACTOR_METAFORMAT_UTF8, 138 EXTRACTOR_METAFORMAT_UTF8, "text/plain",
143 "text/plain", txt, strlen (txt) + 1); 139 txt, strlen (txt) + 1);
144 } 140 }
145 size = GNUNET_CONTAINER_meta_data_get_serialized_size (meta); 141 size = GNUNET_CONTAINER_meta_data_get_serialized_size (meta);
146 data = GNUNET_malloc (size * 4); 142 data = GNUNET_malloc (size * 4);
147 if (size != 143 if (size !=
148 GNUNET_CONTAINER_meta_data_serialize (meta, &data, size * 4, 144 GNUNET_CONTAINER_meta_data_serialize (meta, &data, size * 4,
149 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL)) 145 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL))
150 { 146 {
151 GNUNET_free (data); 147 GNUNET_free (data);
152 ABORT (meta); 148 ABORT (meta);
153 } 149 }
154 GNUNET_CONTAINER_meta_data_destroy (meta); 150 GNUNET_CONTAINER_meta_data_destroy (meta);
155 GNUNET_free (data); 151 GNUNET_free (data);
156 return 0; 152 return 0;
@@ -166,22 +162,22 @@ testMetaLink ()
166 m = GNUNET_CONTAINER_meta_data_create (); 162 m = GNUNET_CONTAINER_meta_data_create ();
167 if (GNUNET_OK != 163 if (GNUNET_OK !=
168 GNUNET_CONTAINER_meta_data_insert (m, "<test>", 164 GNUNET_CONTAINER_meta_data_insert (m, "<test>",
169 EXTRACTOR_METATYPE_UNKNOWN, 165 EXTRACTOR_METATYPE_UNKNOWN,
170 EXTRACTOR_METAFORMAT_UTF8, 166 EXTRACTOR_METAFORMAT_UTF8,
171 "text/plain", "link", 167 "text/plain", "link",
172 strlen ("link") + 1)) 168 strlen ("link") + 1))
173 ABORT (m); 169 ABORT (m);
174 if (GNUNET_OK != 170 if (GNUNET_OK !=
175 GNUNET_CONTAINER_meta_data_insert (m, "<test>", 171 GNUNET_CONTAINER_meta_data_insert (m, "<test>",
176 EXTRACTOR_METATYPE_FILENAME, 172 EXTRACTOR_METATYPE_FILENAME,
177 EXTRACTOR_METAFORMAT_UTF8, 173 EXTRACTOR_METAFORMAT_UTF8,
178 "text/plain", "lib-link.m4", 174 "text/plain", "lib-link.m4",
179 strlen ("lib-link.m4") + 1)) 175 strlen ("lib-link.m4") + 1))
180 ABORT (m); 176 ABORT (m);
181 val = NULL; 177 val = NULL;
182 size = 178 size =
183 GNUNET_CONTAINER_meta_data_serialize (m, &val, (size_t) - 1, 179 GNUNET_CONTAINER_meta_data_serialize (m, &val, (size_t) - 1,
184 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL); 180 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL);
185 GNUNET_CONTAINER_meta_data_destroy (m); 181 GNUNET_CONTAINER_meta_data_destroy (m);
186 m = GNUNET_CONTAINER_meta_data_deserialize (val, size); 182 m = GNUNET_CONTAINER_meta_data_deserialize (val, size);
187 GNUNET_free (val); 183 GNUNET_free (val);
@@ -205,46 +201,44 @@ check ()
205 meta = GNUNET_CONTAINER_meta_data_create (); 201 meta = GNUNET_CONTAINER_meta_data_create ();
206 meta2 = GNUNET_CONTAINER_meta_data_create (); 202 meta2 = GNUNET_CONTAINER_meta_data_create ();
207 for (q = 0; q <= i; q++) 203 for (q = 0; q <= i; q++)
208 { 204 {
209 GNUNET_snprintf (txt, 128, "%u -- %u\n", i, q); 205 GNUNET_snprintf (txt, 128, "%u -- %u\n", i, q);
210 GNUNET_CONTAINER_meta_data_insert (meta, "<test>", 206 GNUNET_CONTAINER_meta_data_insert (meta, "<test>",
211 EXTRACTOR_METATYPE_UNKNOWN, 207 EXTRACTOR_METATYPE_UNKNOWN,
212 EXTRACTOR_METAFORMAT_UTF8, 208 EXTRACTOR_METAFORMAT_UTF8, "text/plain",
213 "text/plain", "TestTitle", 209 "TestTitle", strlen ("TestTitle") + 1);
214 strlen ("TestTitle") + 1); 210 GNUNET_CONTAINER_meta_data_insert (meta2, "<test>",
215 GNUNET_CONTAINER_meta_data_insert (meta2, "<test>", 211 EXTRACTOR_METATYPE_UNKNOWN,
216 EXTRACTOR_METATYPE_UNKNOWN, 212 EXTRACTOR_METAFORMAT_UTF8, "text/plain",
217 EXTRACTOR_METAFORMAT_UTF8, 213 "TestTitle", strlen ("TestTitle") + 1);
218 "text/plain", "TestTitle", 214 }
219 strlen ("TestTitle") + 1);
220 }
221 215
222 //check meta_data_test_equal 216 //check meta_data_test_equal
223 if (GNUNET_YES != GNUNET_CONTAINER_meta_data_test_equal (meta, meta2)) 217 if (GNUNET_YES != GNUNET_CONTAINER_meta_data_test_equal (meta, meta2))
224 { 218 {
225 GNUNET_CONTAINER_meta_data_destroy (meta2); 219 GNUNET_CONTAINER_meta_data_destroy (meta2);
226 ABORT (meta); 220 ABORT (meta);
227 } 221 }
228 222
229 //check meta_data_clear 223 //check meta_data_clear
230 GNUNET_CONTAINER_meta_data_clear (meta2); 224 GNUNET_CONTAINER_meta_data_clear (meta2);
231 if (0 != GNUNET_CONTAINER_meta_data_iterate (meta2, NULL, NULL)) 225 if (0 != GNUNET_CONTAINER_meta_data_iterate (meta2, NULL, NULL))
232 { 226 {
233 GNUNET_CONTAINER_meta_data_destroy (meta2); 227 GNUNET_CONTAINER_meta_data_destroy (meta2);
234 ABORT (meta); 228 ABORT (meta);
235 } 229 }
236 // check equal branch in meta_data_test_equal 230 // check equal branch in meta_data_test_equal
237 if (GNUNET_YES != GNUNET_CONTAINER_meta_data_test_equal (meta, meta)) 231 if (GNUNET_YES != GNUNET_CONTAINER_meta_data_test_equal (meta, meta))
238 { 232 {
239 GNUNET_CONTAINER_meta_data_destroy (meta2); 233 GNUNET_CONTAINER_meta_data_destroy (meta2);
240 ABORT (meta); 234 ABORT (meta);
241 } 235 }
242 // check "count" branch in meta_data_test_equal 236 // check "count" branch in meta_data_test_equal
243 if (GNUNET_NO != GNUNET_CONTAINER_meta_data_test_equal (meta, meta2)) 237 if (GNUNET_NO != GNUNET_CONTAINER_meta_data_test_equal (meta, meta2))
244 { 238 {
245 GNUNET_CONTAINER_meta_data_destroy (meta2); 239 GNUNET_CONTAINER_meta_data_destroy (meta2);
246 ABORT (meta); 240 ABORT (meta);
247 } 241 }
248 242
249 // check meta_data_add_publication_date 243 // check meta_data_add_publication_date
250 GNUNET_CONTAINER_meta_data_add_publication_date (meta2); 244 GNUNET_CONTAINER_meta_data_add_publication_date (meta2);
@@ -253,74 +247,74 @@ check ()
253 GNUNET_CONTAINER_meta_data_clear (meta2); 247 GNUNET_CONTAINER_meta_data_clear (meta2);
254 GNUNET_CONTAINER_meta_data_merge (meta2, meta); 248 GNUNET_CONTAINER_meta_data_merge (meta2, meta);
255 if (100 == GNUNET_CONTAINER_meta_data_iterate (meta2, NULL, NULL)) 249 if (100 == GNUNET_CONTAINER_meta_data_iterate (meta2, NULL, NULL))
256 { 250 {
257 GNUNET_CONTAINER_meta_data_destroy (meta2); 251 GNUNET_CONTAINER_meta_data_destroy (meta2);
258 ABORT (meta); 252 ABORT (meta);
259 } 253 }
260 254
261 // check meta_data_get_by_type 255 // check meta_data_get_by_type
262 GNUNET_CONTAINER_meta_data_clear (meta2); 256 GNUNET_CONTAINER_meta_data_clear (meta2);
263 if (NULL != 257 if (NULL !=
264 (str = 258 (str =
265 GNUNET_CONTAINER_meta_data_get_by_type (meta2, 259 GNUNET_CONTAINER_meta_data_get_by_type (meta2,
266 EXTRACTOR_METATYPE_UNKNOWN))) 260 EXTRACTOR_METATYPE_UNKNOWN)))
267 { 261 {
268 GNUNET_CONTAINER_meta_data_destroy (meta2); 262 GNUNET_CONTAINER_meta_data_destroy (meta2);
269 GNUNET_free (str); 263 GNUNET_free (str);
270 ABORT (meta); 264 ABORT (meta);
271 } 265 }
272 266
273 str = 267 str =
274 GNUNET_CONTAINER_meta_data_get_by_type (meta, EXTRACTOR_METATYPE_UNKNOWN); 268 GNUNET_CONTAINER_meta_data_get_by_type (meta, EXTRACTOR_METATYPE_UNKNOWN);
275 GNUNET_assert (NULL != str); 269 GNUNET_assert (NULL != str);
276 if (str[0] != 'T') 270 if (str[0] != 'T')
277 { 271 {
278 GNUNET_CONTAINER_meta_data_destroy (meta2); 272 GNUNET_CONTAINER_meta_data_destroy (meta2);
279 GNUNET_free (str); 273 GNUNET_free (str);
280 ABORT (meta); 274 ABORT (meta);
281 } 275 }
282 GNUNET_free (str); 276 GNUNET_free (str);
283 277
284 // check branch 278 // check branch
285 if (NULL != 279 if (NULL !=
286 (str = 280 (str =
287 GNUNET_CONTAINER_meta_data_get_by_type (meta, 281 GNUNET_CONTAINER_meta_data_get_by_type (meta,
288 EXTRACTOR_METATYPE_PUBLICATION_DATE))) 282 EXTRACTOR_METATYPE_PUBLICATION_DATE)))
289 { 283 {
290 GNUNET_free (str); 284 GNUNET_free (str);
291 GNUNET_CONTAINER_meta_data_destroy (meta2); 285 GNUNET_CONTAINER_meta_data_destroy (meta2);
292 ABORT (meta); 286 ABORT (meta);
293 } 287 }
294 288
295 //check meta_data_get_first_by_types 289 //check meta_data_get_first_by_types
296 str = 290 str =
297 GNUNET_CONTAINER_meta_data_get_first_by_types (meta, 291 GNUNET_CONTAINER_meta_data_get_first_by_types (meta,
298 EXTRACTOR_METATYPE_UNKNOWN, 292 EXTRACTOR_METATYPE_UNKNOWN,
299 -1); 293 -1);
300 GNUNET_assert (NULL != str); 294 GNUNET_assert (NULL != str);
301 if (str[0] != 'T') 295 if (str[0] != 'T')
302 { 296 {
303 GNUNET_CONTAINER_meta_data_destroy (meta2); 297 GNUNET_CONTAINER_meta_data_destroy (meta2);
304 GNUNET_free (str); 298 GNUNET_free (str);
305 ABORT (meta); 299 ABORT (meta);
306 } 300 }
307 GNUNET_free (str); 301 GNUNET_free (str);
308 302
309 //check meta_data_get_thumbnail 303 //check meta_data_get_thumbnail
310 if (GNUNET_CONTAINER_meta_data_get_thumbnail (meta, &thumb) != 0) 304 if (GNUNET_CONTAINER_meta_data_get_thumbnail (meta, &thumb) != 0)
311 { 305 {
312 GNUNET_free (thumb); 306 GNUNET_free (thumb);
313 GNUNET_CONTAINER_meta_data_destroy (meta2); 307 GNUNET_CONTAINER_meta_data_destroy (meta2);
314 ABORT (meta); 308 ABORT (meta);
315 } 309 }
316 GNUNET_CONTAINER_meta_data_destroy (meta2); 310 GNUNET_CONTAINER_meta_data_destroy (meta2);
317 //check meta_data_duplicate 311 //check meta_data_duplicate
318 meta2 = GNUNET_CONTAINER_meta_data_duplicate (meta); 312 meta2 = GNUNET_CONTAINER_meta_data_duplicate (meta);
319 if (200 == GNUNET_CONTAINER_meta_data_iterate (meta2, NULL, NULL)) 313 if (200 == GNUNET_CONTAINER_meta_data_iterate (meta2, NULL, NULL))
320 { 314 {
321 GNUNET_CONTAINER_meta_data_destroy (meta2); 315 GNUNET_CONTAINER_meta_data_destroy (meta2);
322 ABORT (meta); 316 ABORT (meta);
323 } 317 }
324 GNUNET_CONTAINER_meta_data_destroy (meta2); 318 GNUNET_CONTAINER_meta_data_destroy (meta2);
325 GNUNET_CONTAINER_meta_data_destroy (meta); 319 GNUNET_CONTAINER_meta_data_destroy (meta);
326 return 0; 320 return 0;