diff options
Diffstat (limited to 'src/fs/test_fs.c')
-rw-r--r-- | src/fs/test_fs.c | 247 |
1 files changed, 125 insertions, 122 deletions
diff --git a/src/fs/test_fs.c b/src/fs/test_fs.c index e88bacf59..73de7b204 100644 --- a/src/fs/test_fs.c +++ b/src/fs/test_fs.c | |||
@@ -30,19 +30,20 @@ | |||
30 | 30 | ||
31 | #define DEBUG_VERBOSE GNUNET_NO | 31 | #define DEBUG_VERBOSE GNUNET_NO |
32 | 32 | ||
33 | #define CHECK(a) if (!(a)) { ok = GNUNET_NO; GNUNET_GE_BREAK(NULL, 0); goto FAILURE; } | 33 | #define CHECK(a) if (! (a)) { ok = GNUNET_NO; GNUNET_GE_BREAK (NULL, 0); \ |
34 | goto FAILURE; } | ||
34 | 35 | ||
35 | static char * | 36 | static char * |
36 | makeName(unsigned int i) | 37 | makeName (unsigned int i) |
37 | { | 38 | { |
38 | char *fn; | 39 | char *fn; |
39 | 40 | ||
40 | fn = GNUNET_malloc(strlen("/tmp/gnunet-basic_fsui_test/BASIC_FSUI_TEST") + | 41 | fn = GNUNET_malloc (strlen ("/tmp/gnunet-basic_fsui_test/BASIC_FSUI_TEST") |
41 | 14); | 42 | + 14); |
42 | GNUNET_snprintf(fn, | 43 | GNUNET_snprintf (fn, |
43 | strlen("/tmp/gnunet-basic_fsui_test/BASIC_FSUI_TEST") + 14, | 44 | strlen ("/tmp/gnunet-basic_fsui_test/BASIC_FSUI_TEST") + 14, |
44 | "/tmp/gnunet-basic_fsui_test/BASIC_FSUI_TEST%u", i); | 45 | "/tmp/gnunet-basic_fsui_test/BASIC_FSUI_TEST%u", i); |
45 | GNUNET_disk_directory_create_for_file(NULL, fn); | 46 | GNUNET_disk_directory_create_for_file (NULL, fn); |
46 | return fn; | 47 | return fn; |
47 | } | 48 | } |
48 | 49 | ||
@@ -55,47 +56,47 @@ static struct GNUNET_ECRS_URI *search_uri; | |||
55 | static struct GNUNET_FSUI_Context *ctx; | 56 | static struct GNUNET_FSUI_Context *ctx; |
56 | 57 | ||
57 | static void * | 58 | static void * |
58 | eventCallback(void *cls, const GNUNET_FSUI_Event * event) | 59 | eventCallback (void *cls, const GNUNET_FSUI_Event *event) |
59 | { | 60 | { |
60 | static char unused; | 61 | static char unused; |
61 | 62 | ||
62 | switch (event->type) | 63 | switch (event->type) |
63 | { | 64 | { |
64 | case GNUNET_FSUI_search_resumed: | 65 | case GNUNET_FSUI_search_resumed: |
65 | case GNUNET_FSUI_download_resumed: | 66 | case GNUNET_FSUI_download_resumed: |
66 | case GNUNET_FSUI_upload_resumed: | 67 | case GNUNET_FSUI_upload_resumed: |
67 | case GNUNET_FSUI_unindex_resumed: | 68 | case GNUNET_FSUI_unindex_resumed: |
68 | return &unused; | 69 | return &unused; |
69 | 70 | ||
70 | case GNUNET_FSUI_search_result: | 71 | case GNUNET_FSUI_search_result: |
71 | #if DEBUG_VERBOSE | 72 | #if DEBUG_VERBOSE |
72 | printf("Received search result\n"); | 73 | printf ("Received search result\n"); |
73 | #endif | 74 | #endif |
74 | search_uri = GNUNET_ECRS_uri_duplicate(event->data.SearchResult.fi.uri); | 75 | search_uri = GNUNET_ECRS_uri_duplicate (event->data.SearchResult.fi.uri); |
75 | search_meta = GNUNET_meta_data_duplicate(event->data.SearchResult.fi.meta); | 76 | search_meta = GNUNET_meta_data_duplicate (event->data.SearchResult.fi.meta); |
76 | break; | 77 | break; |
77 | 78 | ||
78 | case GNUNET_FSUI_upload_completed: | 79 | case GNUNET_FSUI_upload_completed: |
79 | #if DEBUG_VERBOSE | 80 | #if DEBUG_VERBOSE |
80 | printf("Upload complete.\n"); | 81 | printf ("Upload complete.\n"); |
81 | #endif | 82 | #endif |
82 | break; | 83 | break; |
83 | 84 | ||
84 | case GNUNET_FSUI_download_completed: | 85 | case GNUNET_FSUI_download_completed: |
85 | #if DEBUG_VERBOSE | 86 | #if DEBUG_VERBOSE |
86 | printf("Download complete.\n"); | 87 | printf ("Download complete.\n"); |
87 | #endif | 88 | #endif |
88 | break; | 89 | break; |
89 | 90 | ||
90 | case GNUNET_FSUI_unindex_completed: | 91 | case GNUNET_FSUI_unindex_completed: |
91 | #if DEBUG_VERBOSE | 92 | #if DEBUG_VERBOSE |
92 | printf("Unindex complete.\n"); | 93 | printf ("Unindex complete.\n"); |
93 | #endif | 94 | #endif |
94 | break; | 95 | break; |
95 | 96 | ||
96 | default: | 97 | default: |
97 | break; | 98 | break; |
98 | } | 99 | } |
99 | lastEvent = event->type; | 100 | lastEvent = event->type; |
100 | return NULL; | 101 | return NULL; |
101 | } | 102 | } |
@@ -103,7 +104,7 @@ eventCallback(void *cls, const GNUNET_FSUI_Event * event) | |||
103 | #define START_DAEMON 1 | 104 | #define START_DAEMON 1 |
104 | 105 | ||
105 | int | 106 | int |
106 | main(int argc, char *argv[]) | 107 | main (int argc, char *argv[]) |
107 | { | 108 | { |
108 | #if START_DAEMON | 109 | #if START_DAEMON |
109 | struct GNUNET_OS_Process *daemon; | 110 | struct GNUNET_OS_Process *daemon; |
@@ -127,128 +128,130 @@ main(int argc, char *argv[]) | |||
127 | struct GNUNET_FSUI_UnindexList *unindex = NULL; | 128 | struct GNUNET_FSUI_UnindexList *unindex = NULL; |
128 | struct GNUNET_FSUI_DownloadList *download = NULL; | 129 | struct GNUNET_FSUI_DownloadList *download = NULL; |
129 | 130 | ||
130 | cfg = GNUNET_GC_create(); | 131 | cfg = GNUNET_GC_create (); |
131 | if (-1 == GNUNET_GC_parse_configuration(cfg, "check.conf")) | 132 | if (-1 == GNUNET_GC_parse_configuration (cfg, "check.conf")) |
132 | { | 133 | { |
133 | GNUNET_GC_free(cfg); | 134 | GNUNET_GC_free (cfg); |
134 | return -1; | 135 | return -1; |
135 | } | 136 | } |
136 | #if START_DAEMON | 137 | #if START_DAEMON |
137 | daemon = GNUNET_daemon_start(NULL, cfg, "peer.conf", GNUNET_NO); | 138 | daemon = GNUNET_daemon_start (NULL, cfg, "peer.conf", GNUNET_NO); |
138 | GNUNET_GE_ASSERT(NULL, daemon != NULL); | 139 | GNUNET_GE_ASSERT (NULL, daemon != NULL); |
139 | CHECK(GNUNET_OK == | 140 | CHECK (GNUNET_OK == |
140 | GNUNET_wait_for_daemon_running(NULL, cfg, 60 * GNUNET_CRON_SECONDS)); | 141 | GNUNET_wait_for_daemon_running (NULL, cfg, 60 * GNUNET_CRON_SECONDS)); |
141 | #endif | 142 | #endif |
142 | GNUNET_thread_sleep(5 * GNUNET_CRON_SECONDS); /* give apps time to start */ | 143 | GNUNET_thread_sleep (5 * GNUNET_CRON_SECONDS); /* give apps time to start */ |
143 | ok = GNUNET_YES; | 144 | ok = GNUNET_YES; |
144 | 145 | ||
145 | /* ACTUAL TEST CODE */ | 146 | /* ACTUAL TEST CODE */ |
146 | ctx = GNUNET_FSUI_start(NULL, cfg, "basic_fsui_test", 32, /* thread pool size */ | 147 | ctx = GNUNET_FSUI_start (NULL, cfg, "basic_fsui_test", 32, /* thread pool size */ |
147 | GNUNET_NO, /* no resume */ | 148 | GNUNET_NO, /* no resume */ |
148 | &eventCallback, NULL); | 149 | &eventCallback, NULL); |
149 | CHECK(ctx != NULL); | 150 | CHECK (ctx != NULL); |
150 | filename = makeName(42); | 151 | filename = makeName (42); |
151 | GNUNET_disk_file_write(NULL, filename, "foo bar test!", | 152 | GNUNET_disk_file_write (NULL, filename, "foo bar test!", |
152 | strlen("foo bar test!"), "600"); | 153 | strlen ("foo bar test!"), "600"); |
153 | meta = GNUNET_meta_data_create(); | 154 | meta = GNUNET_meta_data_create (); |
154 | kuri = | 155 | kuri = |
155 | GNUNET_ECRS_keyword_command_line_to_uri(NULL, 2, | 156 | GNUNET_ECRS_keyword_command_line_to_uri (NULL, 2, |
156 | (const char **)keywords); | 157 | (const char **) keywords); |
157 | /* upload */ | 158 | /* upload */ |
158 | upload = GNUNET_FSUI_upload_start(ctx, filename, (GNUNET_FSUI_DirectoryScanCallback) & GNUNET_disk_directory_scan, NULL, 0, /* anonymity */ | 159 | upload = GNUNET_FSUI_upload_start (ctx, filename, |
159 | 0, /* priority */ | 160 | (GNUNET_FSUI_DirectoryScanCallback) |
160 | GNUNET_YES, GNUNET_NO, GNUNET_NO, | 161 | & GNUNET_disk_directory_scan, NULL, 0, /* anonymity */ |
161 | GNUNET_get_time() + 5 * GNUNET_CRON_HOURS, | 162 | 0, /* priority */ |
162 | meta, kuri, kuri); | 163 | GNUNET_YES, GNUNET_NO, GNUNET_NO, |
163 | CHECK(upload != NULL); | 164 | GNUNET_get_time () + 5 * GNUNET_CRON_HOURS, |
164 | GNUNET_ECRS_uri_destroy(kuri); | 165 | meta, kuri, kuri); |
165 | GNUNET_meta_data_destroy(meta); | 166 | CHECK (upload != NULL); |
167 | GNUNET_ECRS_uri_destroy (kuri); | ||
168 | GNUNET_meta_data_destroy (meta); | ||
166 | prog = 0; | 169 | prog = 0; |
167 | while (lastEvent != GNUNET_FSUI_upload_completed) | 170 | while (lastEvent != GNUNET_FSUI_upload_completed) |
168 | { | 171 | { |
169 | prog++; | 172 | prog++; |
170 | CHECK(prog < 10000) GNUNET_thread_sleep(50 * GNUNET_CRON_MILLISECONDS); | 173 | CHECK (prog < 10000) GNUNET_thread_sleep (50 * GNUNET_CRON_MILLISECONDS); |
171 | if (GNUNET_shutdown_test() == GNUNET_YES) | 174 | if (GNUNET_shutdown_test () == GNUNET_YES) |
172 | break; | 175 | break; |
173 | } | 176 | } |
174 | 177 | ||
175 | /* search */ | 178 | /* search */ |
176 | GNUNET_snprintf(keyword, 40, "+%s +%s", keywords[0], keywords[1]); | 179 | GNUNET_snprintf (keyword, 40, "+%s +%s", keywords[0], keywords[1]); |
177 | uri = GNUNET_ECRS_keyword_string_to_uri(NULL, keyword); | 180 | uri = GNUNET_ECRS_keyword_string_to_uri (NULL, keyword); |
178 | search = GNUNET_FSUI_search_start(ctx, 0, uri); | 181 | search = GNUNET_FSUI_search_start (ctx, 0, uri); |
179 | GNUNET_ECRS_uri_destroy(uri); | 182 | GNUNET_ECRS_uri_destroy (uri); |
180 | CHECK(search != NULL); | 183 | CHECK (search != NULL); |
181 | prog = 0; | 184 | prog = 0; |
182 | while (lastEvent != GNUNET_FSUI_search_result) | 185 | while (lastEvent != GNUNET_FSUI_search_result) |
183 | { | 186 | { |
184 | prog++; | 187 | prog++; |
185 | CHECK(prog < 10000); | 188 | CHECK (prog < 10000); |
186 | GNUNET_thread_sleep(50 * GNUNET_CRON_MILLISECONDS); | 189 | GNUNET_thread_sleep (50 * GNUNET_CRON_MILLISECONDS); |
187 | if (GNUNET_shutdown_test() == GNUNET_YES) | 190 | if (GNUNET_shutdown_test () == GNUNET_YES) |
188 | break; | 191 | break; |
189 | } | 192 | } |
190 | GNUNET_FSUI_search_abort(search); | 193 | GNUNET_FSUI_search_abort (search); |
191 | GNUNET_FSUI_search_stop(search); | 194 | GNUNET_FSUI_search_stop (search); |
192 | 195 | ||
193 | /* download */ | 196 | /* download */ |
194 | fn = makeName(43); | 197 | fn = makeName (43); |
195 | download = | 198 | download = |
196 | GNUNET_FSUI_download_start(ctx, 0, GNUNET_NO, search_uri, search_meta, | 199 | GNUNET_FSUI_download_start (ctx, 0, GNUNET_NO, search_uri, search_meta, |
197 | fn, NULL, NULL); | 200 | fn, NULL, NULL); |
198 | GNUNET_free(fn); | 201 | GNUNET_free (fn); |
199 | prog = 0; | 202 | prog = 0; |
200 | while (lastEvent != GNUNET_FSUI_download_completed) | 203 | while (lastEvent != GNUNET_FSUI_download_completed) |
201 | { | 204 | { |
202 | prog++; | 205 | prog++; |
203 | CHECK(prog < 10000); | 206 | CHECK (prog < 10000); |
204 | GNUNET_thread_sleep(50 * GNUNET_CRON_MILLISECONDS); | 207 | GNUNET_thread_sleep (50 * GNUNET_CRON_MILLISECONDS); |
205 | if (GNUNET_shutdown_test() == GNUNET_YES) | 208 | if (GNUNET_shutdown_test () == GNUNET_YES) |
206 | break; | 209 | break; |
207 | } | 210 | } |
208 | GNUNET_FSUI_download_stop(download); | 211 | GNUNET_FSUI_download_stop (download); |
209 | download = NULL; | 212 | download = NULL; |
210 | GNUNET_ECRS_uri_destroy(search_uri); | 213 | GNUNET_ECRS_uri_destroy (search_uri); |
211 | GNUNET_meta_data_destroy(search_meta); | 214 | GNUNET_meta_data_destroy (search_meta); |
212 | /* unindex */ | 215 | /* unindex */ |
213 | unindex = GNUNET_FSUI_unindex_start(ctx, filename); | 216 | unindex = GNUNET_FSUI_unindex_start (ctx, filename); |
214 | prog = 0; | 217 | prog = 0; |
215 | while (lastEvent != GNUNET_FSUI_unindex_completed) | 218 | while (lastEvent != GNUNET_FSUI_unindex_completed) |
216 | { | 219 | { |
217 | prog++; | 220 | prog++; |
218 | CHECK(prog < 10000); | 221 | CHECK (prog < 10000); |
219 | GNUNET_thread_sleep(50 * GNUNET_CRON_MILLISECONDS); | 222 | GNUNET_thread_sleep (50 * GNUNET_CRON_MILLISECONDS); |
220 | if (GNUNET_shutdown_test() == GNUNET_YES) | 223 | if (GNUNET_shutdown_test () == GNUNET_YES) |
221 | break; | 224 | break; |
222 | } | 225 | } |
223 | if (lastEvent != GNUNET_FSUI_unindex_completed) | 226 | if (lastEvent != GNUNET_FSUI_unindex_completed) |
224 | GNUNET_FSUI_unindex_abort(unindex); | 227 | GNUNET_FSUI_unindex_abort (unindex); |
225 | GNUNET_FSUI_unindex_stop(unindex); | 228 | GNUNET_FSUI_unindex_stop (unindex); |
226 | 229 | ||
227 | 230 | ||
228 | /* END OF TEST CODE */ | 231 | /* END OF TEST CODE */ |
229 | FAILURE: | 232 | FAILURE: |
230 | if (ctx != NULL) | 233 | if (ctx != NULL) |
231 | GNUNET_FSUI_stop(ctx); | 234 | GNUNET_FSUI_stop (ctx); |
232 | if (filename != NULL) | 235 | if (filename != NULL) |
233 | { | 236 | { |
234 | unlink(filename); | 237 | unlink (filename); |
235 | GNUNET_free(filename); | 238 | GNUNET_free (filename); |
236 | } | 239 | } |
237 | if (download != NULL) | 240 | if (download != NULL) |
238 | { | 241 | { |
239 | GNUNET_FSUI_download_abort(download); | 242 | GNUNET_FSUI_download_abort (download); |
240 | GNUNET_FSUI_download_stop(download); | 243 | GNUNET_FSUI_download_stop (download); |
241 | } | 244 | } |
242 | filename = makeName(43); | 245 | filename = makeName (43); |
243 | /* TODO: verify file 'filename(42)' == file 'filename(43)' */ | 246 | /* TODO: verify file 'filename(42)' == file 'filename(43)' */ |
244 | unlink(filename); | 247 | unlink (filename); |
245 | GNUNET_free(filename); | 248 | GNUNET_free (filename); |
246 | 249 | ||
247 | #if START_DAEMON | 250 | #if START_DAEMON |
248 | GNUNET_GE_ASSERT(NULL, GNUNET_OK == GNUNET_daemon_stop(NULL, daemon)); | 251 | GNUNET_GE_ASSERT (NULL, GNUNET_OK == GNUNET_daemon_stop (NULL, daemon)); |
249 | GNUNET_OS_process_destroy(daemon); | 252 | GNUNET_OS_process_destroy (daemon); |
250 | #endif | 253 | #endif |
251 | GNUNET_GC_free(cfg); | 254 | GNUNET_GC_free (cfg); |
252 | 255 | ||
253 | return (ok == GNUNET_YES) ? 0 : 1; | 256 | return (ok == GNUNET_YES) ? 0 : 1; |
254 | } | 257 | } |