diff options
author | Lin Tong <lintong@140774ce-b5e7-0310-ab8b-a85725594a96> | 2010-08-16 22:05:55 +0000 |
---|---|---|
committer | Lin Tong <lintong@140774ce-b5e7-0310-ab8b-a85725594a96> | 2010-08-16 22:05:55 +0000 |
commit | 54af67d98cdfe301d1a6ac7f580f81b9bbe3e787 (patch) | |
tree | 7ee9256ffe401d55e81b951e383149170b3157cc /src/util/test_container_meta_data.c | |
parent | 764ce35d029a7ecedb25cfc8410f21700ee44707 (diff) | |
download | gnunet-54af67d98cdfe301d1a6ac7f580f81b9bbe3e787.tar.gz gnunet-54af67d98cdfe301d1a6ac7f580f81b9bbe3e787.zip |
function coverage 100%
Diffstat (limited to 'src/util/test_container_meta_data.c')
-rw-r--r-- | src/util/test_container_meta_data.c | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/src/util/test_container_meta_data.c b/src/util/test_container_meta_data.c index b3ff9679f..880d41846 100644 --- a/src/util/test_container_meta_data.c +++ b/src/util/test_container_meta_data.c | |||
@@ -230,6 +230,126 @@ testMetaLink () | |||
230 | return 0; | 230 | return 0; |
231 | } | 231 | } |
232 | 232 | ||
233 | int | ||
234 | check() | ||
235 | { | ||
236 | struct GNUNET_CONTAINER_MetaData *meta; | ||
237 | struct GNUNET_CONTAINER_MetaData *meta2; | ||
238 | int q; | ||
239 | int i = 100; | ||
240 | char txt[128]; | ||
241 | char *data; | ||
242 | unsigned long long size; | ||
243 | |||
244 | meta = GNUNET_CONTAINER_meta_data_create (); | ||
245 | meta2 = GNUNET_CONTAINER_meta_data_create (); | ||
246 | for (q = 0; q <= i; q++) | ||
247 | { | ||
248 | GNUNET_snprintf (txt, 128, "%u -- %u\n", i, q); | ||
249 | GNUNET_CONTAINER_meta_data_insert (meta, | ||
250 | "<test>", | ||
251 | EXTRACTOR_METATYPE_UNKNOWN, | ||
252 | EXTRACTOR_METAFORMAT_UTF8, | ||
253 | "text/plain", | ||
254 | "TestTitle", | ||
255 | strlen ("TestTitle")+1); | ||
256 | GNUNET_CONTAINER_meta_data_insert (meta2, | ||
257 | "<test>", | ||
258 | EXTRACTOR_METATYPE_UNKNOWN, | ||
259 | EXTRACTOR_METAFORMAT_UTF8, | ||
260 | "text/plain", | ||
261 | "TestTitle", | ||
262 | strlen ("TestTitle")+1); | ||
263 | } | ||
264 | |||
265 | //check meta_data_test_equal | ||
266 | if (GNUNET_YES != GNUNET_CONTAINER_meta_data_test_equal(meta,meta2)) | ||
267 | { | ||
268 | GNUNET_CONTAINER_meta_data_destroy(meta2); | ||
269 | ABORT(meta); | ||
270 | } | ||
271 | |||
272 | //check meta_data_clear | ||
273 | GNUNET_CONTAINER_meta_data_clear(meta2); | ||
274 | if (0 != GNUNET_CONTAINER_meta_data_iterate(meta2,NULL,NULL)) | ||
275 | { | ||
276 | GNUNET_CONTAINER_meta_data_destroy(meta2); | ||
277 | ABORT(meta); | ||
278 | } | ||
279 | //check equal branch in meta_data_test_equal | ||
280 | if (GNUNET_YES != GNUNET_CONTAINER_meta_data_test_equal(meta,meta)) | ||
281 | { | ||
282 | GNUNET_CONTAINER_meta_data_destroy(meta2); | ||
283 | ABORT(meta); | ||
284 | } | ||
285 | //check "count" branch in meta_data_test_equal | ||
286 | if (GNUNET_NO != GNUNET_CONTAINER_meta_data_test_equal(meta,meta2)) | ||
287 | { | ||
288 | GNUNET_CONTAINER_meta_data_destroy(meta2); | ||
289 | ABORT(meta); | ||
290 | } | ||
291 | |||
292 | //check meta_data_add_publication_date | ||
293 | GNUNET_CONTAINER_meta_data_add_publication_date(meta2); | ||
294 | |||
295 | //check meta_data_merge | ||
296 | GNUNET_CONTAINER_meta_data_clear(meta2); | ||
297 | GNUNET_CONTAINER_meta_data_merge(meta2,meta); | ||
298 | if (100 == GNUNET_CONTAINER_meta_data_iterate(meta2,NULL,NULL)) | ||
299 | { | ||
300 | GNUNET_CONTAINER_meta_data_destroy(meta2); | ||
301 | ABORT(meta); | ||
302 | } | ||
303 | |||
304 | //check meta_data_get_by_type | ||
305 | GNUNET_CONTAINER_meta_data_clear(meta2); | ||
306 | if (GNUNET_CONTAINER_meta_data_get_by_type(meta2,EXTRACTOR_METATYPE_UNKNOWN) != NULL) | ||
307 | { | ||
308 | GNUNET_CONTAINER_meta_data_destroy(meta2); | ||
309 | ABORT(meta); | ||
310 | } | ||
311 | |||
312 | char* str = GNUNET_CONTAINER_meta_data_get_by_type(meta,EXTRACTOR_METATYPE_UNKNOWN); | ||
313 | if (str[0] != 'T') | ||
314 | { | ||
315 | GNUNET_CONTAINER_meta_data_destroy(meta2); | ||
316 | ABORT(meta); | ||
317 | } | ||
318 | //check branch | ||
319 | if (GNUNET_CONTAINER_meta_data_get_by_type(meta,EXTRACTOR_METATYPE_PUBLICATION_DATE) != NULL) | ||
320 | { | ||
321 | GNUNET_CONTAINER_meta_data_destroy(meta2); | ||
322 | ABORT(meta); | ||
323 | } | ||
324 | |||
325 | //check meta_data_get_first_by_types | ||
326 | str = GNUNET_CONTAINER_meta_data_get_first_by_types(meta, | ||
327 | EXTRACTOR_METATYPE_UNKNOWN, | ||
328 | -1); | ||
329 | if (str[0] != 'T') | ||
330 | { | ||
331 | GNUNET_CONTAINER_meta_data_destroy(meta2); | ||
332 | ABORT(meta); | ||
333 | } | ||
334 | |||
335 | //check meta_data_get_thumbnail | ||
336 | unsigned char** thumb; | ||
337 | if (GNUNET_CONTAINER_meta_data_get_thumbnail(meta,thumb) !=0) | ||
338 | { | ||
339 | GNUNET_CONTAINER_meta_data_destroy(meta2); | ||
340 | ABORT(meta); | ||
341 | } | ||
342 | |||
343 | //check meta_data_duplicate | ||
344 | GNUNET_CONTAINER_meta_data_duplicate(meta); | ||
345 | if (200 == GNUNET_CONTAINER_meta_data_iterate(meta,NULL,NULL)) | ||
346 | { | ||
347 | GNUNET_CONTAINER_meta_data_destroy(meta2); | ||
348 | ABORT(meta); | ||
349 | } | ||
350 | return 0; | ||
351 | } | ||
352 | |||
233 | 353 | ||
234 | int | 354 | int |
235 | main (int argc, char *argv[]) | 355 | main (int argc, char *argv[]) |
@@ -244,6 +364,10 @@ main (int argc, char *argv[]) | |||
244 | failureCount += testMetaMore (i); | 364 | failureCount += testMetaMore (i); |
245 | failureCount += testMetaLink (); | 365 | failureCount += testMetaLink (); |
246 | 366 | ||
367 | int ret = check(); | ||
368 | if ( ret == 1) | ||
369 | return 1; | ||
370 | |||
247 | if (failureCount != 0) | 371 | if (failureCount != 0) |
248 | return 1; | 372 | return 1; |
249 | return 0; | 373 | return 0; |