X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Ffs%2Ftest_fs_file_information.c;h=679b267b2039689f1902aa2fdb83fcdceaf438f3;hb=b393537f38727987db955152cc34d69f4fb4173b;hp=2d66d5185dcd40be08def04fd7f6ecf1f9d2b078;hpb=5554d773fef027d978d8b94f2cfe10b3206c5916;p=oweals%2Fgnunet.git diff --git a/src/fs/test_fs_file_information.c b/src/fs/test_fs_file_information.c index 2d66d5185..679b267b2 100644 --- a/src/fs/test_fs_file_information.c +++ b/src/fs/test_fs_file_information.c @@ -4,7 +4,7 @@ GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 2, or (at your + by the Free Software Foundation; either version 3, or (at your option) any later version. GNUnet is distributed in the hope that it will be useful, but @@ -36,7 +36,7 @@ #include "gnunet_util_lib.h" #include "gnunet_fs_service.h" -#define VERBOSE GNUNET_NO +#define VERBOSE GNUNET_EXTRA_LOGGING /** * File-size we use for testing. @@ -45,30 +45,21 @@ /** * How long should our test-content live? - */ + */ #define LIFETIME GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MINUTES, 15) static int -mycleaner(void *cls, - struct GNUNET_FS_FileInformation *fi, - uint64_t length, - struct GNUNET_CONTAINER_MetaData *meta, - struct GNUNET_FS_Uri **uri, - uint32_t *anonymity, - uint32_t *priority, - struct GNUNET_TIME_Absolute *expirationTime, - void **client_info) +mycleaner (void *cls, struct GNUNET_FS_FileInformation *fi, uint64_t length, + struct GNUNET_CONTAINER_MetaData *meta, struct GNUNET_FS_Uri **uri, + struct GNUNET_FS_BlockOptions *bo, int *do_index, void **client_info) { return GNUNET_OK; } static void -run (void *cls, - struct GNUNET_SCHEDULER_Handle *s, - char *const *args, - const char *cfgfile, +run (void *cls, char *const *args, const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) { const char *keywords[] = { @@ -85,19 +76,18 @@ run (void *cls, struct GNUNET_FS_FileInformation *fidir; struct GNUNET_FS_Handle *fs; size_t i; + struct GNUNET_FS_BlockOptions bo; - fs = GNUNET_FS_start (s, cfg, "test-fs-file-information", NULL, NULL, - GNUNET_FS_FLAGS_NONE, - GNUNET_FS_OPTIONS_END); + fs = GNUNET_FS_start (cfg, "test-fs-file-information", NULL, NULL, + GNUNET_FS_FLAGS_NONE, GNUNET_FS_OPTIONS_END); fn1 = GNUNET_DISK_mktemp ("gnunet-file_information-test-dst"); buf = GNUNET_malloc (FILESIZE); for (i = 0; i < FILESIZE; i++) buf[i] = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, 256); GNUNET_assert (FILESIZE == - GNUNET_DISK_fn_write (fn1, - buf, - FILESIZE, - GNUNET_DISK_PERM_USER_READ | GNUNET_DISK_PERM_USER_WRITE)); + GNUNET_DISK_fn_write (fn1, buf, FILESIZE, + GNUNET_DISK_PERM_USER_READ | + GNUNET_DISK_PERM_USER_WRITE)); GNUNET_free (buf); fn2 = GNUNET_DISK_mktemp ("gnunet-file_information-test-dst"); @@ -105,48 +95,40 @@ run (void *cls, for (i = 0; i < FILESIZE; i++) buf[i] = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, 256); GNUNET_assert (FILESIZE == - GNUNET_DISK_fn_write (fn2, - buf, - FILESIZE, - GNUNET_DISK_PERM_USER_READ | GNUNET_DISK_PERM_USER_WRITE)); + GNUNET_DISK_fn_write (fn2, buf, FILESIZE, + GNUNET_DISK_PERM_USER_READ | + GNUNET_DISK_PERM_USER_WRITE)); GNUNET_free (buf); meta = GNUNET_CONTAINER_meta_data_create (); kuri = GNUNET_FS_uri_ksk_create_from_args (2, keywords); - fi1 = GNUNET_FS_file_information_create_from_file (fs, - "file_information-context1", - fn1, - kuri, - meta, - GNUNET_YES, - 1, - 42, - GNUNET_TIME_relative_to_absolute (LIFETIME)); - fi2 = GNUNET_FS_file_information_create_from_file (fs, - "file_information-context2", - fn2, - kuri, - meta, - GNUNET_YES, - 1, - 42, - GNUNET_TIME_relative_to_absolute (LIFETIME)); - fidir = GNUNET_FS_file_information_create_empty_directory (fs, - "file_information-context-dir", - kuri, - meta, - 1, - 42, - GNUNET_TIME_relative_to_absolute (LIFETIME)); + bo.content_priority = 42; + bo.anonymity_level = 1; + bo.replication_level = 0; + bo.expiration_time = GNUNET_TIME_relative_to_absolute (LIFETIME); + fi1 = + GNUNET_FS_file_information_create_from_file (fs, + "file_information-context1", + fn1, kuri, meta, GNUNET_YES, + &bo); + GNUNET_assert (fi1 != NULL); + fi2 = + GNUNET_FS_file_information_create_from_file (fs, + "file_information-context2", + fn2, kuri, meta, GNUNET_YES, + &bo); + GNUNET_assert (fi2 != NULL); + fidir = + GNUNET_FS_file_information_create_empty_directory (fs, + "file_information-context-dir", + kuri, meta, &bo, NULL); GNUNET_assert (GNUNET_OK == GNUNET_FS_file_information_add (fidir, fi1)); GNUNET_assert (GNUNET_OK == GNUNET_FS_file_information_add (fidir, fi2)); GNUNET_FS_uri_destroy (kuri); GNUNET_CONTAINER_meta_data_destroy (meta); GNUNET_assert (NULL != fidir); /* FIXME: test more of API! */ - GNUNET_FS_file_information_destroy (fidir, - &mycleaner, - NULL); + GNUNET_FS_file_information_destroy (fidir, &mycleaner, NULL); GNUNET_DISK_directory_remove (fn1); GNUNET_DISK_directory_remove (fn2); GNUNET_free_non_null (fn1); @@ -155,66 +137,13 @@ run (void *cls, } -static int -testThumbnail () -{ - struct GNUNET_CONTAINER_MetaData *m; - struct GNUNET_CONTAINER_MetaData *d; - struct EXTRACTOR_PluginList *ex; - unsigned char *thumb; - size_t size; - char *date; - - ex = EXTRACTOR_plugin_add_config (NULL, "thumbnailgtk", EXTRACTOR_OPTION_DEFAULT_POLICY); - if (ex == NULL) - { - fprintf (stderr, - "Test incomplete, have no GTK thumbnail extractor available.\n"); - return 0; /* can not test, no thumbnailer */ - } - ex = EXTRACTOR_plugin_add_config (ex, "mime", EXTRACTOR_OPTION_DEFAULT_POLICY); - m = GNUNET_CONTAINER_meta_data_create (); - if (3 != GNUNET_FS_meta_data_extract_from_file (m, - "test_fs_file_information_meta_data_image.jpg", - ex)) - { - GNUNET_break (0); - EXTRACTOR_plugin_remove_all (ex); - GNUNET_CONTAINER_meta_data_destroy (m); - return 1; - } - EXTRACTOR_plugin_remove_all (ex); - d = GNUNET_CONTAINER_meta_data_duplicate (m); - GNUNET_CONTAINER_meta_data_destroy (m); - thumb = NULL; - size = GNUNET_CONTAINER_meta_data_get_thumbnail (d, &thumb); - if (size == 0) - { - GNUNET_break (0); - GNUNET_CONTAINER_meta_data_destroy (d); - return 1; - } - GNUNET_free (thumb); - GNUNET_CONTAINER_meta_data_add_publication_date (d); - date = GNUNET_CONTAINER_meta_data_get_by_type (d, - EXTRACTOR_METATYPE_PUBLICATION_DATE); - if (date == NULL) - { - GNUNET_break (0); - GNUNET_CONTAINER_meta_data_destroy (d); - return 1; - } - GNUNET_free (date); - GNUNET_CONTAINER_meta_data_destroy (d); - return 0; -} int main (int argc, char *argv[]) { - char *const argvx[] = { + char *const argvx[] = { "test-fs-file_information", "-c", "test_fs_file_information_data.conf", @@ -227,18 +156,16 @@ main (int argc, char *argv[]) GNUNET_GETOPT_OPTION_END }; - GNUNET_log_setup ("test_fs_file_information", + GNUNET_log_setup ("test_fs_file_information", #if VERBOSE - "DEBUG", + "DEBUG", #else - "WARNING", + "WARNING", #endif - NULL); - if (0 != testThumbnail ()) - return 1; - GNUNET_PROGRAM_run ((sizeof (argvx) / sizeof (char *)) - 1, - argvx, "test-fs-file_information", - "nohelp", options, &run, NULL); + NULL); + GNUNET_PROGRAM_run ((sizeof (argvx) / sizeof (char *)) - 1, argvx, + "test-fs-file_information", "nohelp", options, &run, + NULL); return 0; }