diff options
author | Christian Grothoff <christian@grothoff.org> | 2010-01-06 19:31:14 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2010-01-06 19:31:14 +0000 |
commit | d5e2126c88d8c1bcb7fc648ff4fc4cd046546098 (patch) | |
tree | 1ca555861d2859230d1e497a30a39c747d644069 /src/util/test_container_meta_data.c | |
parent | 3c5249af8087b0b1a4f131a3e19a9759639ab5db (diff) | |
download | gnunet-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.c | 175 |
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 | |||
34 | testMeta (int i) | 34 | testMeta (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 */ |