From: Christian Grothoff Date: Wed, 9 Sep 2009 13:21:00 +0000 (+0000) Subject: more testing X-Git-Tag: initial-import-from-subversion-38251~23506 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=093b7df3e0e27981441946bc45b318463ef2ce31;p=oweals%2Fgnunet.git more testing --- diff --git a/src/datastore/perf_plugin_datastore.c b/src/datastore/perf_plugin_datastore.c index 26299830a..1a3f890d9 100644 --- a/src/datastore/perf_plugin_datastore.c +++ b/src/datastore/perf_plugin_datastore.c @@ -399,6 +399,7 @@ main (int argc, char *argv[]) { int ret; + GNUNET_DISK_directory_remove ("/tmp/test-gnunetd-datastore"); GNUNET_log_setup ("perf-plugin-datastore", #if VERBOSE "DEBUG", @@ -407,6 +408,7 @@ main (int argc, char *argv[]) #endif NULL); ret = check (); + GNUNET_DISK_directory_remove ("/tmp/test-gnunetd-datastore"); return ret; } diff --git a/src/datastore/test_datastore_api_management.c b/src/datastore/test_datastore_api_management.c index cbefe9d09..fadb77131 100644 --- a/src/datastore/test_datastore_api_management.c +++ b/src/datastore/test_datastore_api_management.c @@ -369,7 +369,7 @@ main (int argc, char *argv[]) #endif NULL); ret = check (); - + GNUNET_DISK_directory_remove ("/tmp/test-gnunetd-datastore"); return ret; } diff --git a/src/fs/Makefile.am b/src/fs/Makefile.am index abc3d989b..e2f2e6267 100644 --- a/src/fs/Makefile.am +++ b/src/fs/Makefile.am @@ -107,7 +107,7 @@ check_PROGRAMS = \ test_fs_getopt \ test_fs_uri -TESTS = test_fs_uri +TESTS = test_fs_directory test_fs_uri # $(check_PROGRAMS) diff --git a/src/fs/fs_directory.c b/src/fs/fs_directory.c index 89a016efd..00407ad3a 100644 --- a/src/fs/fs_directory.c +++ b/src/fs/fs_directory.c @@ -490,8 +490,9 @@ block_align (size_t start, * @param bld directory to finish * @param rsize set to the number of bytes needed * @param rdata set to the encoded directory + * @return GNUNET_OK on success */ -void +int GNUNET_FS_directory_builder_finish (struct GNUNET_FS_DirectoryBuilder *bld, size_t *rsize, void **rdata) @@ -541,7 +542,15 @@ GNUNET_FS_directory_builder_finish (struct GNUNET_FS_DirectoryBuilder *bld, } } *rsize = size; - data = GNUNET_malloc (size); + data = GNUNET_malloc_large (size); + if (data == NULL) + { + GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, + "malloc"); + *rsize = 0; + *rdata = NULL; + return GNUNET_SYSERR; + } *rdata = data; memcpy (data, GNUNET_DIRECTORY_MAGIC, 8); off = 8; @@ -572,6 +581,7 @@ GNUNET_FS_directory_builder_finish (struct GNUNET_FS_DirectoryBuilder *bld, GNUNET_assert (off == size); GNUNET_CONTAINER_meta_data_destroy (bld->meta); GNUNET_free (bld); + return GNUNET_OK; } diff --git a/src/fs/test_fs_directory.c b/src/fs/test_fs_directory.c index 9d0101078..31a9869f3 100644 --- a/src/fs/test_fs_directory.c +++ b/src/fs/test_fs_directory.c @@ -51,6 +51,8 @@ processor (void *cls, struct PCLS *p = cls; int i; + if (NULL == uri) + return; /* ignore directory's meta data */ for (i = 0; i < p->max; i++) { if (GNUNET_CONTAINER_meta_data_test_equal (p->md[i], @@ -80,10 +82,16 @@ testDirectory (unsigned int i) char uri[512]; char txt[128]; int ret = 0; + struct GNUNET_TIME_Absolute start; + char *s; cls.max = i; uris = GNUNET_malloc (sizeof (struct GNUNET_FS_Uri*) * i); mds = GNUNET_malloc (sizeof (struct GNUNET_CONTAINER_MetaData*) * i); + meta = GNUNET_CONTAINER_meta_data_create (); + GNUNET_CONTAINER_meta_data_insert (meta, EXTRACTOR_TITLE, "A title"); + GNUNET_CONTAINER_meta_data_insert (meta, EXTRACTOR_AUTHOR, "An author"); + db = GNUNET_FS_directory_builder_create (meta); for (p = 0; p < i; p++) { mds[p] = GNUNET_CONTAINER_meta_data_create (); @@ -112,22 +120,27 @@ testDirectory (unsigned int i) GNUNET_free (uris); ABORT (); /* error in testcase */ } + GNUNET_FS_directory_builder_add (db, uris[p], mds[p], NULL); } - meta = GNUNET_CONTAINER_meta_data_create (); - GNUNET_CONTAINER_meta_data_insert (meta, EXTRACTOR_TITLE, "A title"); - GNUNET_CONTAINER_meta_data_insert (meta, EXTRACTOR_AUTHOR, "An author"); - db = GNUNET_FS_directory_builder_create (meta); - for (p=0;p