aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_container_meta_data.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2010-01-06 19:31:14 +0000
committerChristian Grothoff <christian@grothoff.org>2010-01-06 19:31:14 +0000
commitd5e2126c88d8c1bcb7fc648ff4fc4cd046546098 (patch)
tree1ca555861d2859230d1e497a30a39c747d644069 /src/util/test_container_meta_data.c
parent3c5249af8087b0b1a4f131a3e19a9759639ab5db (diff)
downloadgnunet-d5e2126c88d8c1bcb7fc648ff4fc4cd046546098.tar.gz
gnunet-d5e2126c88d8c1bcb7fc648ff4fc4cd046546098.zip
porting testcases to LE 0.6 API, fixing issues with the ported code
Diffstat (limited to 'src/util/test_container_meta_data.c')
-rw-r--r--src/util/test_container_meta_data.c175
1 files changed, 110 insertions, 65 deletions
diff --git a/src/util/test_container_meta_data.c b/src/util/test_container_meta_data.c
index 17ef79161..2cf3f2a09 100644
--- a/src/util/test_container_meta_data.c
+++ b/src/util/test_container_meta_data.c
@@ -1,6 +1,6 @@
1/* 1/*
2 This file is part of GNUnet. 2 This file is part of GNUnet.
3 (C) 2003, 2004, 2006, 2009 Christian Grothoff (and other contributing authors) 3 (C) 2003, 2004, 2006, 2009, 2010 Christian Grothoff (and other contributing authors)
4 4
5 GNUnet is free software; you can redistribute it and/or modify 5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published 6 it under the terms of the GNU General Public License as published
@@ -34,85 +34,124 @@ static int
34testMeta (int i) 34testMeta (int i)
35{ 35{
36 struct GNUNET_CONTAINER_MetaData *m; 36 struct GNUNET_CONTAINER_MetaData *m;
37 char *val; 37 char val[256];
38 char *sval;
38 int j; 39 int j;
39 unsigned int size; 40 unsigned int size;
40 41
41 m = GNUNET_CONTAINER_meta_data_create (); 42 m = GNUNET_CONTAINER_meta_data_create ();
42 if (GNUNET_OK != 43 if (GNUNET_OK !=
43 GNUNET_CONTAINER_meta_data_insert (m, EXTRACTOR_TITLE, "TestTitle")) 44 GNUNET_CONTAINER_meta_data_insert (m,
45 "<test>",
46 EXTRACTOR_METATYPE_TITLE,
47 EXTRACTOR_METAFORMAT_UTF8,
48 "text/plain",
49 "TestTitle",
50 strlen("TestTitle")+1))
44 ABORT (m); 51 ABORT (m);
45 if (GNUNET_OK != 52 if (GNUNET_OK !=
46 GNUNET_CONTAINER_meta_data_insert (m, EXTRACTOR_AUTHOR, "TestTitle")) 53 GNUNET_CONTAINER_meta_data_insert (m,
54 "<test>",
55 EXTRACTOR_METATYPE_AUTHOR_NAME,
56 EXTRACTOR_METAFORMAT_UTF8,
57 "text/plain",
58 "TestTitle",
59 strlen ("TestTitle")+1))
47 ABORT (m); 60 ABORT (m);
48 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_insert (m, EXTRACTOR_TITLE, "TestTitle")) /* dup! */ 61 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_insert (m,
62 "<test>",
63 EXTRACTOR_METATYPE_TITLE,
64 EXTRACTOR_METAFORMAT_UTF8,
65 "text/plain",
66 "TestTitle",
67 strlen ("TestTitle")+1)) /* dup! */
49 ABORT (m); 68 ABORT (m);
50 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_insert (m, EXTRACTOR_AUTHOR, "TestTitle")) /* dup! */ 69 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_insert (m,
70 "<test>",
71 EXTRACTOR_METATYPE_AUTHOR_NAME,
72 EXTRACTOR_METAFORMAT_UTF8,
73 "text/plain",
74 "TestTitle",
75 strlen ("TestTitle")+1)) /* dup! */
51 ABORT (m); 76 ABORT (m);
52 if (2 != GNUNET_CONTAINER_meta_data_get_contents (m, NULL, NULL)) 77 if (2 != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL))
53 ABORT (m); 78 ABORT (m);
54 if (GNUNET_OK != 79 if (GNUNET_OK !=
55 GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_AUTHOR, "TestTitle")) 80 GNUNET_CONTAINER_meta_data_delete (m,
81 EXTRACTOR_METATYPE_AUTHOR_NAME,
82 "TestTitle",
83 strlen("TestTitle")+1))
56 ABORT (m); 84 ABORT (m);
57 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_AUTHOR, "TestTitle")) /* already gone */ 85 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_delete (m,
86 EXTRACTOR_METATYPE_AUTHOR_NAME,
87 "TestTitle",
88 strlen ("TestTitle")+1)) /* already gone */
58 ABORT (m); 89 ABORT (m);
59 if (1 != GNUNET_CONTAINER_meta_data_get_contents (m, NULL, NULL)) 90 if (1 != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL))
60 ABORT (m); 91 ABORT (m);
61 if (GNUNET_OK != 92 if (GNUNET_OK !=
62 GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_TITLE, "TestTitle")) 93 GNUNET_CONTAINER_meta_data_delete (m,
94 EXTRACTOR_METATYPE_TITLE,
95 "TestTitle",
96 strlen ("TestTitle")+1))
63 ABORT (m); 97 ABORT (m);
64 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_TITLE, "TestTitle")) /* already gone */ 98 if (GNUNET_OK == GNUNET_CONTAINER_meta_data_delete (m,
99 EXTRACTOR_METATYPE_TITLE,
100 "TestTitle",
101 strlen ("TestTitle")+1)) /* already gone */
65 ABORT (m); 102 ABORT (m);
66 if (0 != GNUNET_CONTAINER_meta_data_get_contents (m, NULL, NULL)) 103 if (0 != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL))
67 ABORT (m); 104 ABORT (m);
68 val = GNUNET_malloc (256);
69 for (j = 0; j < i; j++) 105 for (j = 0; j < i; j++)
70 { 106 {
71 GNUNET_snprintf (val, 256, "%s.%d", 107 GNUNET_snprintf (val,
108 sizeof(val),
109 "%s.%d",
72 "A teststring that should compress well.", j); 110 "A teststring that should compress well.", j);
73 if (GNUNET_OK != 111 if (GNUNET_OK !=
74 GNUNET_CONTAINER_meta_data_insert (m, EXTRACTOR_UNKNOWN, val)) 112 GNUNET_CONTAINER_meta_data_insert (m,
75 { 113 "<test>",
76 GNUNET_free (val); 114 EXTRACTOR_METATYPE_UNKNOWN,
77 ABORT (m); 115 EXTRACTOR_METAFORMAT_UTF8,
78 } 116 "text/plain",
117 val,
118 strlen(val)+1))
119 ABORT (m);
79 } 120 }
80 GNUNET_free (val); 121 if (i != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL))
81 if (i != GNUNET_CONTAINER_meta_data_get_contents (m, NULL, NULL))
82 ABORT (m); 122 ABORT (m);
83 123
84 size = 124 size =
85 GNUNET_CONTAINER_meta_data_get_serialized_size (m, 125 GNUNET_CONTAINER_meta_data_get_serialized_size (m);
86 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL); 126 sval = NULL;
87 val = GNUNET_malloc (size); 127 if (size != GNUNET_CONTAINER_meta_data_serialize (m,
88 if (size != GNUNET_CONTAINER_meta_data_serialize (m, val, size, 128 &sval, size,
89 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL)) 129 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL))
90 { 130 {
91 GNUNET_free (val); 131 GNUNET_free_non_null (sval);
92 ABORT (m); 132 ABORT (m);
93 } 133 }
94 GNUNET_CONTAINER_meta_data_destroy (m); 134 GNUNET_CONTAINER_meta_data_destroy (m);
95 m = GNUNET_CONTAINER_meta_data_deserialize (val, size); 135 m = GNUNET_CONTAINER_meta_data_deserialize (sval, size);
96 GNUNET_free (val); 136 GNUNET_free (sval);
97 if (m == NULL) 137 if (m == NULL)
98 ABORT (m); 138 ABORT (m);
99 val = GNUNET_malloc (256);
100 for (j = 0; j < i; j++) 139 for (j = 0; j < i; j++)
101 { 140 {
102 GNUNET_snprintf (val, 256, "%s.%d", 141 GNUNET_snprintf (val,
142 sizeof(val), "%s.%d",
103 "A teststring that should compress well.", j); 143 "A teststring that should compress well.", j);
104 if (GNUNET_OK != 144 if (GNUNET_OK !=
105 GNUNET_CONTAINER_meta_data_delete (m, EXTRACTOR_UNKNOWN, val)) 145 GNUNET_CONTAINER_meta_data_delete (m,
146 EXTRACTOR_METATYPE_UNKNOWN,
147 val,
148 strlen(val)+1))
106 { 149 {
107 GNUNET_free (val);
108 ABORT (m); 150 ABORT (m);
109 } 151 }
110 } 152 }
111 GNUNET_free (val); 153 if (0 != GNUNET_CONTAINER_meta_data_iterate (m, NULL, NULL))
112 if (0 != GNUNET_CONTAINER_meta_data_get_contents (m, NULL, NULL)) 154 ABORT (m);
113 {
114 ABORT (m);
115 }
116 GNUNET_CONTAINER_meta_data_destroy (m); 155 GNUNET_CONTAINER_meta_data_destroy (m);
117 return 0; 156 return 0;
118} 157}
@@ -131,16 +170,18 @@ testMetaMore (int i)
131 { 170 {
132 GNUNET_snprintf (txt, 128, "%u -- %u\n", i, q); 171 GNUNET_snprintf (txt, 128, "%u -- %u\n", i, q);
133 GNUNET_CONTAINER_meta_data_insert (meta, 172 GNUNET_CONTAINER_meta_data_insert (meta,
134 q % 173 "<test>",
135 EXTRACTOR_getHighestKeywordTypeNumber 174 q % EXTRACTOR_metatype_get_max(),
136 (), txt); 175 EXTRACTOR_METAFORMAT_UTF8,
176 "text/plain",
177 txt,
178 strlen (txt)+1);
137 } 179 }
138 size = 180 size =
139 GNUNET_CONTAINER_meta_data_get_serialized_size (meta, 181 GNUNET_CONTAINER_meta_data_get_serialized_size (meta);
140 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL);
141 data = GNUNET_malloc (size * 4); 182 data = GNUNET_malloc (size * 4);
142 if (size != GNUNET_CONTAINER_meta_data_serialize (meta, 183 if (size != GNUNET_CONTAINER_meta_data_serialize (meta,
143 data, size * 4, 184 &data, size * 4,
144 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL)) 185 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL))
145 { 186 {
146 GNUNET_free (data); 187 GNUNET_free (data);
@@ -160,22 +201,26 @@ testMetaLink ()
160 201
161 m = GNUNET_CONTAINER_meta_data_create (); 202 m = GNUNET_CONTAINER_meta_data_create ();
162 if (GNUNET_OK != 203 if (GNUNET_OK !=
163 GNUNET_CONTAINER_meta_data_insert (m, EXTRACTOR_UNKNOWN, "link")) 204 GNUNET_CONTAINER_meta_data_insert (m,
205 "<test>",
206 EXTRACTOR_METATYPE_UNKNOWN,
207 EXTRACTOR_METAFORMAT_UTF8,
208 "text/plain",
209 "link",
210 strlen("link")+1))
164 ABORT (m); 211 ABORT (m);
165 if (GNUNET_OK != 212 if (GNUNET_OK !=
166 GNUNET_CONTAINER_meta_data_insert (m, EXTRACTOR_FILENAME, 213 GNUNET_CONTAINER_meta_data_insert (m,
167 "lib-link.m4")) 214 "<test>",
215 EXTRACTOR_METATYPE_FILENAME,
216 EXTRACTOR_METAFORMAT_UTF8,
217 "text/plain",
218 "lib-link.m4",
219 strlen ("lib-link.m4")+1))
168 ABORT (m); 220 ABORT (m);
169 size = 221 val = NULL;
170 GNUNET_CONTAINER_meta_data_get_serialized_size (m, 222 size = GNUNET_CONTAINER_meta_data_serialize (m, &val, (size_t) -1,
171 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL); 223 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL);
172 val = GNUNET_malloc (size);
173 if (size != GNUNET_CONTAINER_meta_data_serialize (m, val, size,
174 GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL))
175 {
176 GNUNET_free (val);
177 ABORT (m);
178 }
179 GNUNET_CONTAINER_meta_data_destroy (m); 224 GNUNET_CONTAINER_meta_data_destroy (m);
180 m = GNUNET_CONTAINER_meta_data_deserialize (val, size); 225 m = GNUNET_CONTAINER_meta_data_deserialize (val, size);
181 GNUNET_free (val); 226 GNUNET_free (val);
@@ -191,30 +236,30 @@ testThumbnail ()
191{ 236{
192 struct GNUNET_CONTAINER_MetaData *m; 237 struct GNUNET_CONTAINER_MetaData *m;
193 struct GNUNET_CONTAINER_MetaData *d; 238 struct GNUNET_CONTAINER_MetaData *d;
194 EXTRACTOR_ExtractorList *ex; 239 struct EXTRACTOR_PluginList *ex;
195 unsigned char *thumb; 240 unsigned char *thumb;
196 size_t size; 241 size_t size;
197 char *date; 242 char *date;
198 243
199 ex = EXTRACTOR_loadConfigLibraries (NULL, "libextractor_thumbnail"); 244 ex = EXTRACTOR_plugin_add_config (NULL, "thumbnailgtk", EXTRACTOR_OPTION_DEFAULT_POLICY);
200 if (ex == NULL) 245 if (ex == NULL)
201 { 246 {
202 fprintf (stderr, 247 fprintf (stderr,
203 "Test incomplete, have no thumbnail extractor available.\n"); 248 "Test incomplete, have no GTK thumbnail extractor available.\n");
204 return 0; /* can not test, no thumbnailer */ 249 return 0; /* can not test, no thumbnailer */
205 } 250 }
206 ex = EXTRACTOR_loadConfigLibraries (ex, "libextractor_mime"); 251 ex = EXTRACTOR_plugin_add_config (ex, "mime", EXTRACTOR_OPTION_DEFAULT_POLICY);
207 m = GNUNET_CONTAINER_meta_data_create (); 252 m = GNUNET_CONTAINER_meta_data_create ();
208 if (3 != GNUNET_CONTAINER_meta_data_extract_from_file (m, 253 if (3 != GNUNET_CONTAINER_meta_data_extract_from_file (m,
209 "test_container_meta_data_image.jpg", 254 "test_container_meta_data_image.jpg",
210 ex)) 255 ex))
211 { 256 {
212 GNUNET_break (0); 257 GNUNET_break (0);
213 EXTRACTOR_removeAll (ex); 258 EXTRACTOR_plugin_remove_all (ex);
214 GNUNET_CONTAINER_meta_data_destroy (m); 259 GNUNET_CONTAINER_meta_data_destroy (m);
215 return 1; 260 return 1;
216 } 261 }
217 EXTRACTOR_removeAll (ex); 262 EXTRACTOR_plugin_remove_all (ex);
218 d = GNUNET_CONTAINER_meta_data_duplicate (m); 263 d = GNUNET_CONTAINER_meta_data_duplicate (m);
219 GNUNET_CONTAINER_meta_data_destroy (m); 264 GNUNET_CONTAINER_meta_data_destroy (m);
220 size = GNUNET_CONTAINER_meta_data_get_thumbnail (d, &thumb); 265 size = GNUNET_CONTAINER_meta_data_get_thumbnail (d, &thumb);
@@ -227,7 +272,7 @@ testThumbnail ()
227 GNUNET_free (thumb); 272 GNUNET_free (thumb);
228 GNUNET_CONTAINER_meta_data_add_publication_date (d); 273 GNUNET_CONTAINER_meta_data_add_publication_date (d);
229 date = GNUNET_CONTAINER_meta_data_get_by_type (d, 274 date = GNUNET_CONTAINER_meta_data_get_by_type (d,
230 EXTRACTOR_PUBLICATION_DATE); 275 EXTRACTOR_METATYPE_PUBLICATION_DATE);
231 if (date == NULL) 276 if (date == NULL)
232 { 277 {
233 GNUNET_break (0); 278 GNUNET_break (0);
@@ -259,4 +304,4 @@ main (int argc, char *argv[])
259 return 0; 304 return 0;
260} 305}
261 306
262/* end of metatest.c */ 307/* end of test_container_meta_data.c */