aboutsummaryrefslogtreecommitdiff
path: root/src/fs/test_fs_download.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2009-10-20 11:33:07 +0000
committerChristian Grothoff <christian@grothoff.org>2009-10-20 11:33:07 +0000
commit66ec361f74889c6bcc73880af39dd8cd3a3179d5 (patch)
treefd5e699fbebe8a5c4279c7f5e74e0b7fbe160f72 /src/fs/test_fs_download.c
parent7f5570186d7d89dc6b3742bff7070fb94343279b (diff)
downloadgnunet-66ec361f74889c6bcc73880af39dd8cd3a3179d5.tar.gz
gnunet-66ec361f74889c6bcc73880af39dd8cd3a3179d5.zip
bug fixes, api fixes, extended testcase
Diffstat (limited to 'src/fs/test_fs_download.c')
-rw-r--r--src/fs/test_fs_download.c34
1 files changed, 28 insertions, 6 deletions
diff --git a/src/fs/test_fs_download.c b/src/fs/test_fs_download.c
index d7fb22bf6..f9a8109c5 100644
--- a/src/fs/test_fs_download.c
+++ b/src/fs/test_fs_download.c
@@ -85,8 +85,15 @@ static void
85abort_download_task (void *cls, 85abort_download_task (void *cls,
86 const struct GNUNET_SCHEDULER_TaskContext *tc) 86 const struct GNUNET_SCHEDULER_TaskContext *tc)
87{ 87{
88 uint64_t size;
89
88 GNUNET_FS_download_stop (download, GNUNET_YES); 90 GNUNET_FS_download_stop (download, GNUNET_YES);
89 download = NULL; 91 download = NULL;
92 GNUNET_assert (GNUNET_OK == GNUNET_DISK_file_size (fn, &size, GNUNET_YES));
93 GNUNET_assert (size == FILESIZE);
94 GNUNET_DISK_directory_remove (fn);
95 GNUNET_free (fn);
96 fn = NULL;
90} 97}
91 98
92 99
@@ -104,7 +111,7 @@ progress_cb (void *cls,
104 (unsigned long long) event->value.publish.size, 111 (unsigned long long) event->value.publish.size,
105 event->value.publish.specifics.progress.depth, 112 event->value.publish.specifics.progress.depth,
106 (unsigned long long) event->value.publish.specifics.progress.offset); 113 (unsigned long long) event->value.publish.specifics.progress.offset);
107#endif 114#endif
108 break; 115 break;
109 case GNUNET_FS_STATUS_PUBLISH_COMPLETED: 116 case GNUNET_FS_STATUS_PUBLISH_COMPLETED:
110 printf ("Publishing complete, %llu kbps.\n", 117 printf ("Publishing complete, %llu kbps.\n",
@@ -119,6 +126,7 @@ progress_cb (void *cls,
119 FILESIZE, 126 FILESIZE,
120 1, 127 1,
121 GNUNET_FS_DOWNLOAD_OPTION_NONE, 128 GNUNET_FS_DOWNLOAD_OPTION_NONE,
129 "download",
122 NULL); 130 NULL);
123 GNUNET_assert (download != NULL); 131 GNUNET_assert (download != NULL);
124 break; 132 break;
@@ -132,6 +140,7 @@ progress_cb (void *cls,
132 GNUNET_SCHEDULER_REASON_PREREQ_DONE); 140 GNUNET_SCHEDULER_REASON_PREREQ_DONE);
133 break; 141 break;
134 case GNUNET_FS_STATUS_DOWNLOAD_PROGRESS: 142 case GNUNET_FS_STATUS_DOWNLOAD_PROGRESS:
143 GNUNET_assert (download == event->value.download.dc);
135#if VERBOSE 144#if VERBOSE
136 printf ("Download is progressing (%llu/%llu at level %u off %llu)...\n", 145 printf ("Download is progressing (%llu/%llu at level %u off %llu)...\n",
137 (unsigned long long) event->value.download.completed, 146 (unsigned long long) event->value.download.completed,
@@ -162,18 +171,32 @@ progress_cb (void *cls,
162 GNUNET_SCHEDULER_REASON_PREREQ_DONE); 171 GNUNET_SCHEDULER_REASON_PREREQ_DONE);
163 break; 172 break;
164 case GNUNET_FS_STATUS_PUBLISH_START: 173 case GNUNET_FS_STATUS_PUBLISH_START:
165 /* FIXME: add checks here... */ 174 GNUNET_assert (0 == strcmp ("publish-context", event->value.publish.cctx));
175 GNUNET_assert (NULL == event->value.publish.pctx);
176 GNUNET_assert (FILESIZE == event->value.publish.size);
177 GNUNET_assert (0 == event->value.publish.completed);
178 GNUNET_assert (1 == event->value.publish.anonymity);
166 break; 179 break;
167 case GNUNET_FS_STATUS_PUBLISH_STOPPED: 180 case GNUNET_FS_STATUS_PUBLISH_STOPPED:
181 GNUNET_assert (publish == event->value.publish.sc);
182 GNUNET_assert (FILESIZE == event->value.publish.size);
183 GNUNET_assert (1 == event->value.publish.anonymity);
168 /* FIXME: add checks here... */ 184 /* FIXME: add checks here... */
169 GNUNET_FS_stop (fs); 185 GNUNET_FS_stop (fs);
170 fs = NULL; 186 fs = NULL;
171 break; 187 break;
172 case GNUNET_FS_STATUS_DOWNLOAD_START: 188 case GNUNET_FS_STATUS_DOWNLOAD_START:
173 /* FIXME: add checks here... */ 189 GNUNET_assert (download == NULL);
190 GNUNET_assert (0 == strcmp ("download", event->value.download.cctx));
191 GNUNET_assert (NULL == event->value.download.pctx);
192 GNUNET_assert (NULL != event->value.download.uri);
193 GNUNET_assert (0 == strcmp (fn, event->value.download.filename));
194 GNUNET_assert (FILESIZE == event->value.download.size);
195 GNUNET_assert (0 == event->value.download.completed);
196 GNUNET_assert (1 == event->value.download.anonymity);
174 break; 197 break;
175 case GNUNET_FS_STATUS_DOWNLOAD_STOPPED: 198 case GNUNET_FS_STATUS_DOWNLOAD_STOPPED:
176 /* FIXME: add checks here... */ 199 GNUNET_assert (download == event->value.download.dc);
177 GNUNET_SCHEDULER_add_continuation (sched, 200 GNUNET_SCHEDULER_add_continuation (sched,
178 GNUNET_NO, 201 GNUNET_NO,
179 &abort_publish_task, 202 &abort_publish_task,
@@ -254,7 +277,7 @@ run (void *cls,
254 buf[i] = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, 256); 277 buf[i] = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, 256);
255 meta = GNUNET_CONTAINER_meta_data_create (); 278 meta = GNUNET_CONTAINER_meta_data_create ();
256 kuri = GNUNET_FS_uri_ksk_create_from_args (2, keywords); 279 kuri = GNUNET_FS_uri_ksk_create_from_args (2, keywords);
257 fi = GNUNET_FS_file_information_create_from_data ("file-to-publish", 280 fi = GNUNET_FS_file_information_create_from_data ("publish-context",
258 FILESIZE, 281 FILESIZE,
259 buf, 282 buf,
260 kuri, 283 kuri,
@@ -268,7 +291,6 @@ run (void *cls,
268 GNUNET_assert (NULL != fi); 291 GNUNET_assert (NULL != fi);
269 start = GNUNET_TIME_absolute_get (); 292 start = GNUNET_TIME_absolute_get ();
270 publish = GNUNET_FS_publish_start (fs, 293 publish = GNUNET_FS_publish_start (fs,
271 "publish-context",
272 fi, 294 fi,
273 NULL, NULL, NULL, 295 NULL, NULL, NULL,
274 GNUNET_FS_PUBLISH_OPTION_NONE); 296 GNUNET_FS_PUBLISH_OPTION_NONE);