aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_container_meta_data.c
diff options
context:
space:
mode:
authorLin Tong <lintong@140774ce-b5e7-0310-ab8b-a85725594a96>2010-08-16 22:05:55 +0000
committerLin Tong <lintong@140774ce-b5e7-0310-ab8b-a85725594a96>2010-08-16 22:05:55 +0000
commit54af67d98cdfe301d1a6ac7f580f81b9bbe3e787 (patch)
tree7ee9256ffe401d55e81b951e383149170b3157cc /src/util/test_container_meta_data.c
parent764ce35d029a7ecedb25cfc8410f21700ee44707 (diff)
downloadgnunet-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.c124
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
233int
234check()
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
234int 354int
235main (int argc, char *argv[]) 355main (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;