X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Ffs%2Ftest_fs_directory.c;h=d8a9c63b6c4cee880883d85cc659e759cd0972ea;hb=502af2167f7c218366666ca4944bd7cc54b5b19a;hp=b32628b730b26c59d93889c0affbc340eb95f214;hpb=03af5a603b7cc53432249d5854cd412aa90dde0d;p=oweals%2Fgnunet.git diff --git a/src/fs/test_fs_directory.c b/src/fs/test_fs_directory.c index b32628b73..d8a9c63b6 100644 --- a/src/fs/test_fs_directory.c +++ b/src/fs/test_fs_directory.c @@ -42,27 +42,26 @@ struct PCLS static void processor (void *cls, - const char *filename, - const struct GNUNET_FS_Uri *uri, - const struct GNUNET_CONTAINER_MetaData *md, - size_t length, - const void *data) + const char *filename, + const struct GNUNET_FS_Uri *uri, + const struct GNUNET_CONTAINER_MetaData *md, + size_t length, const void *data) { struct PCLS *p = cls; int i; if (NULL == uri) - return; /* ignore directory's meta data */ + return; /* ignore directory's meta data */ for (i = 0; i < p->max; i++) + { + if (GNUNET_CONTAINER_meta_data_test_equal (p->md[i], + md) && + GNUNET_FS_uri_test_equal (p->uri[i], uri)) { - if (GNUNET_CONTAINER_meta_data_test_equal (p->md[i], - md) && - GNUNET_FS_uri_test_equal (p->uri[i], uri)) - { - p->pos++; - return; - } + p->pos++; + return; } + } fprintf (stderr, "Error at %s:%d\n", __FILE__, __LINE__); } @@ -86,89 +85,81 @@ testDirectory (unsigned int i) char *s; cls.max = i; - uris = GNUNET_malloc (sizeof (struct GNUNET_FS_Uri*) * i); - mds = GNUNET_malloc (sizeof (struct GNUNET_CONTAINER_MetaData*) * 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_METATYPE_TITLE, - EXTRACTOR_METAFORMAT_UTF8, - "text/plain", - "A title", - strlen("A title")+1); - GNUNET_CONTAINER_meta_data_insert (meta, - "", - EXTRACTOR_METATYPE_AUTHOR_NAME, - EXTRACTOR_METAFORMAT_UTF8, - "text/plain", - "An author", - strlen ("An author")+1); + GNUNET_CONTAINER_meta_data_insert (meta, + "", + EXTRACTOR_METATYPE_TITLE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "A title", strlen ("A title") + 1); + GNUNET_CONTAINER_meta_data_insert (meta, + "", + EXTRACTOR_METATYPE_AUTHOR_NAME, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "An author", strlen ("An author") + 1); for (p = 0; p < i; p++) + { + mds[p] = GNUNET_CONTAINER_meta_data_create (); + for (q = 0; q <= p; q++) { - mds[p] = GNUNET_CONTAINER_meta_data_create (); - for (q = 0; q <= p; q++) - { - GNUNET_snprintf (txt, sizeof(txt), "%u -- %u\n", p, q); - GNUNET_CONTAINER_meta_data_insert (mds[p], - "", - q % EXTRACTOR_metatype_get_max (), - EXTRACTOR_METAFORMAT_UTF8, - "text/plain", - txt, - strlen(txt)+1); - } - GNUNET_snprintf (uri, - sizeof(uri), - "gnunet://fs/chk/C282GG70GKK41O4551011DO413KFBVTVMQG1OG30I0K4045N0G41HAPB82G680A02JRVVFO8URVRU2F159011DO41000000022RG820.RNVVVVOOLCLK065B5D04HTNVNSIB2AI022RG8200HSLK1CO1000ATQ98824DMA2032LIMG50CG0K057NVUVG200000H000004400000.%u", - p); - emsg = NULL; - uris[p] = GNUNET_FS_uri_parse (uri, &emsg); - if (uris[p] == NULL) - { - GNUNET_CONTAINER_meta_data_destroy (mds[p]); - while (--p > 0) - { - GNUNET_CONTAINER_meta_data_destroy (mds[p]); - GNUNET_FS_uri_destroy (uris[p]); - } - GNUNET_free (mds); - GNUNET_free (uris); - GNUNET_free (emsg); - GNUNET_CONTAINER_meta_data_destroy (meta); - ABORT (); /* error in testcase */ - } - GNUNET_assert (emsg == NULL); + GNUNET_snprintf (txt, sizeof (txt), "%u -- %u\n", p, q); + GNUNET_CONTAINER_meta_data_insert (mds[p], + "", + q % EXTRACTOR_metatype_get_max (), + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", txt, strlen (txt) + 1); } + GNUNET_snprintf (uri, + sizeof (uri), + "gnunet://fs/chk/C282GG70GKK41O4551011DO413KFBVTVMQG1OG30I0K4045N0G41HAPB82G680A02JRVVFO8URVRU2F159011DO41000000022RG820.RNVVVVOOLCLK065B5D04HTNVNSIB2AI022RG8200HSLK1CO1000ATQ98824DMA2032LIMG50CG0K057NVUVG200000H000004400000.%u", + p); + emsg = NULL; + uris[p] = GNUNET_FS_uri_parse (uri, &emsg); + if (uris[p] == NULL) + { + GNUNET_CONTAINER_meta_data_destroy (mds[p]); + while (--p > 0) + { + GNUNET_CONTAINER_meta_data_destroy (mds[p]); + GNUNET_FS_uri_destroy (uris[p]); + } + GNUNET_free (mds); + GNUNET_free (uris); + GNUNET_free (emsg); + GNUNET_CONTAINER_meta_data_destroy (meta); + ABORT (); /* error in testcase */ + } + GNUNET_assert (emsg == NULL); + } start = GNUNET_TIME_absolute_get (); db = GNUNET_FS_directory_builder_create (meta); for (p = 0; p < i; p++) GNUNET_FS_directory_builder_add (db, uris[p], mds[p], NULL); - GNUNET_FS_directory_builder_finish (db, - &dlen, - (void**) &data); - s = GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start)); + GNUNET_FS_directory_builder_finish (db, &dlen, (void **) &data); + s = GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration + (start)); fprintf (stdout, - "Creating directory with %u entires and total size %llu took %s\n", - i, - (unsigned long long) dlen, - s); + "Creating directory with %u entires and total size %llu took %s\n", + i, (unsigned long long) dlen, s); GNUNET_free (s); if (i < 100) - { - cls.pos = 0; - cls.uri = uris; - cls.md = mds; - GNUNET_FS_directory_list_contents (dlen, data, 0, - &processor, &cls); - GNUNET_assert (cls.pos == i); - } + { + cls.pos = 0; + cls.uri = uris; + cls.md = mds; + GNUNET_FS_directory_list_contents (dlen, data, 0, &processor, &cls); + GNUNET_assert (cls.pos == i); + } GNUNET_free (data); GNUNET_CONTAINER_meta_data_destroy (meta); for (p = 0; p < i; p++) - { - GNUNET_CONTAINER_meta_data_destroy (mds[p]); - GNUNET_FS_uri_destroy (uris[p]); - } + { + GNUNET_CONTAINER_meta_data_destroy (mds[p]); + GNUNET_FS_uri_destroy (uris[p]); + } GNUNET_free (uris); GNUNET_free (mds); return ret; @@ -181,15 +172,15 @@ main (int argc, char *argv[]) int failureCount = 0; int i; - GNUNET_log_setup ("test_fs_directory", + GNUNET_log_setup ("test_fs_directory", #if VERBOSE - "DEBUG", + "DEBUG", #else - "WARNING", + "WARNING", #endif - NULL); + NULL); for (i = 17; i < 1000; i *= 2) - failureCount += testDirectory (i); + failureCount += testDirectory (i); if (failureCount != 0) return 1; return 0;