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