From: Christian Grothoff Date: Fri, 15 Jun 2012 08:10:52 +0000 (+0000) Subject: -simplifying tests with new testing lib X-Git-Tag: initial-import-from-subversion-38251~13052 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e825548ea9a45d1f4b25898f87b5c74f8bc4cc25;p=oweals%2Fgnunet.git -simplifying tests with new testing lib --- diff --git a/src/fs/Makefile.am b/src/fs/Makefile.am index 2c5c545c2..224c0fd0c 100644 --- a/src/fs/Makefile.am +++ b/src/fs/Makefile.am @@ -262,8 +262,6 @@ TESTS = \ endif - - test_fs_directory_SOURCES = \ test_fs_directory.c test_fs_directory_LDADD = \ @@ -308,18 +306,21 @@ test_fs_getopt_LDADD = \ test_fs_list_indexed_SOURCES = \ test_fs_list_indexed.c test_fs_list_indexed_LDADD = \ + $(top_builddir)/src/testing/libgnunettesting.la \ $(top_builddir)/src/fs/libgnunetfs.la \ $(top_builddir)/src/util/libgnunetutil.la test_fs_namespace_SOURCES = \ test_fs_namespace.c test_fs_namespace_LDADD = \ + $(top_builddir)/src/testing/libgnunettesting.la \ $(top_builddir)/src/fs/libgnunetfs.la \ $(top_builddir)/src/util/libgnunetutil.la test_fs_namespace_list_updateable_SOURCES = \ test_fs_namespace_list_updateable.c test_fs_namespace_list_updateable_LDADD = \ + $(top_builddir)/src/testing/libgnunettesting.la \ $(top_builddir)/src/fs/libgnunetfs.la \ $(top_builddir)/src/util/libgnunetutil.la @@ -337,17 +338,20 @@ test_fs_publish_persistence_LDADD = \ test_fs_search_SOURCES = \ test_fs_search.c -test_fs_search_LDADD = $(top_builddir)/src/fs/libgnunetfs.la \ +test_fs_search_LDADD = \ + $(top_builddir)/src/fs/libgnunetfs.la \ $(top_builddir)/src/util/libgnunetutil.la test_fs_search_probes_SOURCES = \ test_fs_search_probes.c -test_fs_search_probes_LDADD = $(top_builddir)/src/fs/libgnunetfs.la \ +test_fs_search_probes_LDADD = \ + $(top_builddir)/src/fs/libgnunetfs.la \ $(top_builddir)/src/util/libgnunetutil.la test_fs_search_persistence_SOURCES = \ test_fs_search_persistence.c -test_fs_search_persistence_LDADD = $(top_builddir)/src/fs/libgnunetfs.la \ +test_fs_search_persistence_LDADD = \ + $(top_builddir)/src/fs/libgnunetfs.la \ $(top_builddir)/src/util/libgnunetutil.la test_fs_start_stop_SOURCES = \ @@ -359,13 +363,15 @@ test_fs_start_stop_LDADD = \ test_fs_unindex_SOURCES = \ test_fs_unindex.c test_fs_unindex_LDADD = \ - $(top_builddir)/src/fs/libgnunetfs.la \ + $(top_builddir)/src/testing/libgnunettesting.la \ + $(top_builddir)/src/fs/libgnunetfs.la \ $(top_builddir)/src/util/libgnunetutil.la test_fs_unindex_persistence_SOURCES = \ test_fs_unindex_persistence.c test_fs_unindex_persistence_LDADD = \ - $(top_builddir)/src/fs/libgnunetfs.la \ + $(top_builddir)/src/testing/libgnunettesting.la \ + $(top_builddir)/src/fs/libgnunetfs.la \ $(top_builddir)/src/util/libgnunetutil.la test_fs_uri_SOURCES = \ diff --git a/src/fs/test_fs_download.c b/src/fs/test_fs_download.c index 31be61903..51c7a4000 100644 --- a/src/fs/test_fs_download.c +++ b/src/fs/test_fs_download.c @@ -26,7 +26,6 @@ #include "platform.h" #include "gnunet_util_lib.h" -#include "gnunet_arm_service.h" #include "gnunet_fs_service.h" #include "gnunet_testing_lib-new.h" #include diff --git a/src/fs/test_fs_download_indexed.c b/src/fs/test_fs_download_indexed.c index eac683ab9..2d4091d7a 100644 --- a/src/fs/test_fs_download_indexed.c +++ b/src/fs/test_fs_download_indexed.c @@ -25,7 +25,6 @@ */ #include "platform.h" #include "gnunet_util_lib.h" -#include "gnunet_arm_service.h" #include "gnunet_fs_service.h" #include "gnunet_testing_lib-new.h" #include diff --git a/src/fs/test_fs_download_persistence.c b/src/fs/test_fs_download_persistence.c index bb3bc84c9..98a32af5f 100644 --- a/src/fs/test_fs_download_persistence.c +++ b/src/fs/test_fs_download_persistence.c @@ -23,10 +23,8 @@ * @brief simple testcase for persistence of simple download operation * @author Christian Grothoff */ - #include "platform.h" #include "gnunet_util_lib.h" -#include "gnunet_arm_service.h" #include "gnunet_testing_lib-new.h" #include "gnunet_fs_service.h" diff --git a/src/fs/test_fs_file_information.c b/src/fs/test_fs_file_information.c index fb7de7d9a..cc79c8020 100644 --- a/src/fs/test_fs_file_information.c +++ b/src/fs/test_fs_file_information.c @@ -31,12 +31,10 @@ * - other API functions may not yet be tested (such as * filedata-from-callback) */ - #include "platform.h" #include "gnunet_util_lib.h" #include "gnunet_fs_service.h" -#define VERBOSE GNUNET_NO /** * File-size we use for testing. @@ -137,9 +135,6 @@ run (void *cls, char *const *args, const char *cfgfile, } - - - int main (int argc, char *argv[]) { @@ -147,9 +142,6 @@ main (int argc, char *argv[]) "test-fs-file_information", "-c", "test_fs_file_information_data.conf", -#if VERBOSE - "-L", "DEBUG", -#endif NULL }; struct GNUNET_GETOPT_CommandLineOption options[] = { @@ -157,11 +149,7 @@ main (int argc, char *argv[]) }; GNUNET_log_setup ("test_fs_file_information", -#if VERBOSE - "DEBUG", -#else "WARNING", -#endif NULL); GNUNET_PROGRAM_run ((sizeof (argvx) / sizeof (char *)) - 1, argvx, "test-fs-file_information", "nohelp", options, &run, diff --git a/src/fs/test_fs_getopt.c b/src/fs/test_fs_getopt.c index 571346f2c..75512025c 100644 --- a/src/fs/test_fs_getopt.c +++ b/src/fs/test_fs_getopt.c @@ -25,15 +25,12 @@ #include "platform.h" #include "gnunet_fs_service.h" + int main (int argc, char *argv[]) { - GNUNET_log_setup ("test_fs_directory", -#if VERBOSE - "DEBUG", -#else + GNUNET_log_setup ("test_fs_getopt", "WARNING", -#endif NULL); FPRINTF (stderr, "%s", "WARNING: testcase not yet written.\n"); return 0; /* testcase passed */ diff --git a/src/fs/test_fs_list_indexed.c b/src/fs/test_fs_list_indexed.c index d046a20c6..2b53bc5a4 100644 --- a/src/fs/test_fs_list_indexed.c +++ b/src/fs/test_fs_list_indexed.c @@ -27,16 +27,11 @@ * TODO: * - actually call list_indexed API! */ - #include "platform.h" #include "gnunet_util_lib.h" -#include "gnunet_arm_service.h" +#include "gnunet_testing_lib-new.h" #include "gnunet_fs_service.h" -#define VERBOSE GNUNET_NO - -#define START_ARM GNUNET_YES - /** * File-size we use for testing. */ @@ -52,15 +47,6 @@ */ #define LIFETIME GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MINUTES, 15) -struct PeerContext -{ - struct GNUNET_CONFIGURATION_Handle *cfg; -#if START_ARM - struct GNUNET_OS_Process *arm_proc; -#endif -}; - -static struct PeerContext p1; static struct GNUNET_TIME_Absolute start; @@ -74,6 +60,7 @@ static char *fn2; static int err; + static void abort_publish_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { @@ -120,14 +107,13 @@ progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) case GNUNET_FS_STATUS_PUBLISH_PROGRESS: ret = event->value.publish.cctx; GNUNET_assert (publish == event->value.publish.pc); -#if VERBOSE - printf ("Publish is progressing (%llu/%llu at level %u off %llu)...\n", - (unsigned long long) event->value.publish.completed, - (unsigned long long) event->value.publish.size, - event->value.publish.specifics.progress.depth, - (unsigned long long) event->value.publish.specifics. - progress.offset); -#endif + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Publish is progressing (%llu/%llu at level %u off %llu)...\n", + (unsigned long long) event->value.publish.completed, + (unsigned long long) event->value.publish.size, + event->value.publish.specifics.progress.depth, + (unsigned long long) event->value.publish.specifics. + progress.offset); break; case GNUNET_FS_STATUS_PUBLISH_ERROR: ret = event->value.publish.cctx; @@ -183,44 +169,7 @@ progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) static void -setup_peer (struct PeerContext *p, const char *cfgname) -{ - p->cfg = GNUNET_CONFIGURATION_create (); -#if START_ARM - p->arm_proc = - GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", - "gnunet-service-arm", -#if VERBOSE - "-L", "DEBUG", -#endif - "-c", cfgname, NULL); -#endif - GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); -} - - -static void -stop_arm (struct PeerContext *p) -{ -#if START_ARM - if (NULL != p->arm_proc) - { - if (0 != GNUNET_OS_process_kill (p->arm_proc, SIGTERM)) - GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); - if (GNUNET_OS_process_wait (p->arm_proc) != GNUNET_OK) - GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid"); - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ARM process %u stopped\n", - GNUNET_OS_process_get_pid (p->arm_proc)); - GNUNET_OS_process_destroy (p->arm_proc); - p->arm_proc = NULL; - } -#endif - GNUNET_CONFIGURATION_destroy (p->cfg); -} - - -static void -run (void *cls, char *const *args, const char *cfgfile, +run (void *cls, const struct GNUNET_CONFIGURATION_Handle *cfg) { const char *keywords[] = { @@ -236,7 +185,6 @@ run (void *cls, char *const *args, const char *cfgfile, size_t i; struct GNUNET_FS_BlockOptions bo; - setup_peer (&p1, "test_fs_list_indexed_data.conf"); fs = GNUNET_FS_start (cfg, "test-fs-list_indexed", &progress_cb, NULL, GNUNET_FS_FLAGS_NONE, GNUNET_FS_OPTIONS_END); GNUNET_assert (NULL != fs); @@ -298,41 +246,11 @@ run (void *cls, char *const *args, const char *cfgfile, int main (int argc, char *argv[]) { - char *const argvx[] = { - "test-fs-list_indexed", - "-c", - "test_fs_list_indexed_data.conf", -#if VERBOSE - "-L", "DEBUG", -#endif - NULL - }; - struct GNUNET_GETOPT_CommandLineOption options[] = { - GNUNET_GETOPT_OPTION_END - }; - - GNUNET_log_setup ("test_fs_list_indexed", -#if VERBOSE - "DEBUG", -#else - "WARNING", -#endif - NULL); - GNUNET_PROGRAM_run ((sizeof (argvx) / sizeof (char *)) - 1, argvx, - "test-fs-list_indexed", "nohelp", options, &run, NULL); - stop_arm (&p1); - GNUNET_DISK_directory_remove ("/tmp/gnunet-test-fs-list-indexed/"); - if (fn1 != NULL) - { - GNUNET_DISK_directory_remove (fn1); - GNUNET_free (fn1); - } - if (fn2 != NULL) - { - GNUNET_DISK_directory_remove (fn2); - GNUNET_free (fn2); - } - return err; + if (0 != GNUNET_TESTING_peer_run ("test-fs-list-indexed", + "test_fs_list_indexed_data.conf", + &run, NULL)) + return 1; + return 0; } /* end of test_fs_list_indexed.c */ diff --git a/src/fs/test_fs_namespace.c b/src/fs/test_fs_namespace.c index e837b630f..7f0a53344 100644 --- a/src/fs/test_fs_namespace.c +++ b/src/fs/test_fs_namespace.c @@ -25,14 +25,9 @@ */ #include "platform.h" #include "gnunet_util_lib.h" -#include "gnunet_arm_service.h" +#include "gnunet_testing_lib-new.h" #include "gnunet_fs_service.h" -#define VERBOSE GNUNET_NO - -#define START_ARM GNUNET_YES - -static struct PeerContext p1; static struct GNUNET_HashCode nsid; @@ -52,48 +47,6 @@ static int update_started; static int err; -struct PeerContext -{ - struct GNUNET_CONFIGURATION_Handle *cfg; -#if START_ARM - struct GNUNET_OS_Process *arm_proc; -#endif -}; - - -static void -setup_peer (struct PeerContext *p, const char *cfgname) -{ - p->cfg = GNUNET_CONFIGURATION_create (); -#if START_ARM - p->arm_proc = - GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", - "gnunet-service-arm", - "-c", cfgname, NULL); -#endif - GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); -} - - -static void -stop_arm (struct PeerContext *p) -{ -#if START_ARM - if (NULL != p->arm_proc) - { - if (0 != GNUNET_OS_process_kill (p->arm_proc, SIGTERM)) - GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); - if (GNUNET_OS_process_wait (p->arm_proc) != GNUNET_OK) - GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid"); - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ARM process %u stopped\n", - GNUNET_OS_process_get_pid (p->arm_proc)); - GNUNET_OS_process_destroy (p->arm_proc); - p->arm_proc = NULL; - } -#endif - GNUNET_CONFIGURATION_destroy (p->cfg); -} - static void abort_ksk_search_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) @@ -143,7 +96,6 @@ do_timeout (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) } - static void * progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) { @@ -365,10 +317,9 @@ testNamespace () static void -run (void *cls, char *const *args, const char *cfgfile, +run (void *cls, const struct GNUNET_CONFIGURATION_Handle *cfg) { - setup_peer (&p1, "test_fs_namespace_data.conf"); fs = GNUNET_FS_start (cfg, "test-fs-namespace", &progress_cb, NULL, GNUNET_FS_FLAGS_NONE, GNUNET_FS_OPTIONS_END); testNamespace (); @@ -378,28 +329,10 @@ run (void *cls, char *const *args, const char *cfgfile, int main (int argc, char *argv[]) { - char *const argvx[] = { - "test-fs-namespace", - "-c", - "test_fs_namespace_data.conf", - NULL - }; - struct GNUNET_GETOPT_CommandLineOption options[] = { - GNUNET_GETOPT_OPTION_END - }; - - GNUNET_log_setup ("test_fs_namespace", - "WARNING", - NULL); - GNUNET_PROGRAM_run ((sizeof (argvx) / sizeof (char *)) - 1, argvx, - "test-fs-namespace", "nohelp", options, &run, NULL); - stop_arm (&p1); - if (GNUNET_YES != update_started) - { - FPRINTF (stderr, "%s", "Update search never started!\n"); - err = 1; - } - GNUNET_DISK_directory_remove ("/tmp/gnunet-test-fs-namespace/"); + if (0 != GNUNET_TESTING_peer_run ("test-fs-namespace", + "test_fs_namespace_data.conf", + &run, NULL)) + return 1; return err; } diff --git a/src/fs/test_fs_namespace_list_updateable.c b/src/fs/test_fs_namespace_list_updateable.c index 2cec67ddc..50668cac3 100644 --- a/src/fs/test_fs_namespace_list_updateable.c +++ b/src/fs/test_fs_namespace_list_updateable.c @@ -25,14 +25,9 @@ */ #include "platform.h" #include "gnunet_util_lib.h" -#include "gnunet_arm_service.h" +#include "gnunet_testing_lib-new.h" #include "gnunet_fs_service.h" -#define VERBOSE GNUNET_NO - -#define START_ARM GNUNET_YES - -static struct PeerContext p1; static struct GNUNET_FS_Handle *fs; @@ -49,15 +44,6 @@ static struct GNUNET_FS_Uri *uri_next; static struct GNUNET_FS_BlockOptions bo; -struct PeerContext -{ - struct GNUNET_CONFIGURATION_Handle *cfg; -#if START_ARM - struct GNUNET_OS_Process *arm_proc; -#endif -}; - - static void * progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) { @@ -66,38 +52,8 @@ progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) static void -setup_peer (struct PeerContext *p, const char *cfgname) +do_shutdown () { - p->cfg = GNUNET_CONFIGURATION_create (); -#if START_ARM - p->arm_proc = - GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", - "gnunet-service-arm", -#if VERBOSE - "-L", "DEBUG", -#endif - "-c", cfgname, NULL); -#endif - GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); -} - - -static void -stop_arm (struct PeerContext *p) -{ -#if START_ARM - if (NULL != p->arm_proc) - { - if (0 != GNUNET_OS_process_kill (p->arm_proc, SIGTERM)) - GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); - if (GNUNET_OS_process_wait (p->arm_proc) != GNUNET_OK) - GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid"); - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ARM process %u stopped\n", - GNUNET_OS_process_get_pid (p->arm_proc)); - GNUNET_OS_process_destroy (p->arm_proc); - p->arm_proc = NULL; - } -#endif if (uri_this != NULL) GNUNET_FS_uri_destroy (uri_this); if (uri_next != NULL) @@ -106,11 +62,9 @@ stop_arm (struct PeerContext *p) GNUNET_FS_namespace_delete (ns, GNUNET_NO); if (meta != NULL) GNUNET_CONTAINER_meta_data_destroy (meta); - GNUNET_CONFIGURATION_destroy (p->cfg); } - static void check_next (void *cls, const char *last_id, const struct GNUNET_FS_Uri *last_uri, @@ -143,7 +97,6 @@ sks_cont_next (void *cls, const struct GNUNET_FS_Uri *uri, const char *emsg) GNUNET_assert (NULL == emsg); err += 2; GNUNET_FS_namespace_list_updateable (ns, NULL, &check_this_next, NULL); - } @@ -162,7 +115,6 @@ check_this (void *cls, const char *last_id, static void sks_cont_this (void *cls, const struct GNUNET_FS_Uri *uri, const char *emsg) { - GNUNET_assert (NULL == emsg); err = 1; GNUNET_FS_namespace_list_updateable (ns, NULL, &check_this, NULL); @@ -172,11 +124,9 @@ sks_cont_this (void *cls, const struct GNUNET_FS_Uri *uri, const char *emsg) } - static void testNamespace () { - ns = GNUNET_FS_namespace_create (fs, "testNamespace"); GNUNET_assert (NULL != ns); bo.content_priority = 1; @@ -200,10 +150,9 @@ testNamespace () static void -run (void *cls, char *const *args, const char *cfgfile, +run (void *cls, const struct GNUNET_CONFIGURATION_Handle *cfg) { - setup_peer (&p1, "test_fs_namespace_data.conf"); fs = GNUNET_FS_start (cfg, "test-fs-namespace", &progress_cb, NULL, GNUNET_FS_FLAGS_NONE, GNUNET_FS_OPTIONS_END); testNamespace (); @@ -213,30 +162,11 @@ run (void *cls, char *const *args, const char *cfgfile, int main (int argc, char *argv[]) { - char *const argvx[] = { - "test-fs-namespace", - "-c", - "test_fs_namespace_data.conf", -#if VERBOSE - "-L", "DEBUG", -#endif - NULL - }; - struct GNUNET_GETOPT_CommandLineOption options[] = { - GNUNET_GETOPT_OPTION_END - }; - - GNUNET_log_setup ("test_fs_namespace_list_updateable", -#if VERBOSE - "DEBUG", -#else - "WARNING", -#endif - NULL); - GNUNET_PROGRAM_run ((sizeof (argvx) / sizeof (char *)) - 1, argvx, - "test-fs-namespace", "nohelp", options, &run, NULL); - stop_arm (&p1); - GNUNET_DISK_directory_remove ("/tmp/gnunet-test-fs-namespace/"); + if (0 != GNUNET_TESTING_peer_run ("test-fs-namespace-list-updateable", + "test_fs_namespace_data.conf", + &run, NULL)) + return 1; + do_shutdown (); return err; } diff --git a/src/fs/test_fs_unindex.c b/src/fs/test_fs_unindex.c index ee76bf9f3..52e1845a7 100644 --- a/src/fs/test_fs_unindex.c +++ b/src/fs/test_fs_unindex.c @@ -23,15 +23,11 @@ * @brief simple testcase for simple publish + unindex operation * @author Christian Grothoff */ - #include "platform.h" #include "gnunet_util_lib.h" -#include "gnunet_arm_service.h" #include "gnunet_fs_service.h" +#include "gnunet_testing_lib-new.h" -#define VERBOSE GNUNET_NO - -#define START_ARM GNUNET_YES /** * File-size we use for testing. @@ -48,15 +44,6 @@ */ #define LIFETIME GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MINUTES, 15) -struct PeerContext -{ - struct GNUNET_CONFIGURATION_Handle *cfg; -#if START_ARM - struct GNUNET_OS_Process *arm_proc; -#endif -}; - -static struct PeerContext p1; static struct GNUNET_TIME_Absolute start; @@ -95,14 +82,13 @@ progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) switch (event->status) { case GNUNET_FS_STATUS_PUBLISH_PROGRESS: -#if VERBOSE - printf ("Publish is progressing (%llu/%llu at level %u off %llu)...\n", - (unsigned long long) event->value.publish.completed, - (unsigned long long) event->value.publish.size, - event->value.publish.specifics.progress.depth, - (unsigned long long) event->value.publish.specifics. - progress.offset); -#endif + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Publish is progressing (%llu/%llu at level %u off %llu)...\n", + (unsigned long long) event->value.publish.completed, + (unsigned long long) event->value.publish.size, + event->value.publish.specifics.progress.depth, + (unsigned long long) event->value.publish.specifics. + progress.offset); break; case GNUNET_FS_STATUS_PUBLISH_COMPLETED: printf ("Publishing complete, %llu kbps.\n", @@ -125,14 +111,13 @@ progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) break; case GNUNET_FS_STATUS_UNINDEX_PROGRESS: GNUNET_assert (unindex == event->value.unindex.uc); -#if VERBOSE - printf ("Unindex is progressing (%llu/%llu at level %u off %llu)...\n", - (unsigned long long) event->value.unindex.completed, - (unsigned long long) event->value.unindex.size, - event->value.unindex.specifics.progress.depth, - (unsigned long long) event->value.unindex.specifics. - progress.offset); -#endif + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Unindex is progressing (%llu/%llu at level %u off %llu)...\n", + (unsigned long long) event->value.unindex.completed, + (unsigned long long) event->value.unindex.size, + event->value.unindex.specifics.progress.depth, + (unsigned long long) event->value.unindex.specifics. + progress.offset); break; case GNUNET_FS_STATUS_PUBLISH_ERROR: FPRINTF (stderr, "Error publishing file: %s\n", @@ -182,44 +167,7 @@ progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) static void -setup_peer (struct PeerContext *p, const char *cfgname) -{ - p->cfg = GNUNET_CONFIGURATION_create (); -#if START_ARM - p->arm_proc = - GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", - "gnunet-service-arm", -#if VERBOSE - "-L", "DEBUG", -#endif - "-c", cfgname, NULL); -#endif - GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); -} - - -static void -stop_arm (struct PeerContext *p) -{ -#if START_ARM - if (NULL != p->arm_proc) - { - if (0 != GNUNET_OS_process_kill (p->arm_proc, SIGTERM)) - GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); - if (GNUNET_OS_process_wait (p->arm_proc) != GNUNET_OK) - GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid"); - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ARM process %u stopped\n", - GNUNET_OS_process_get_pid (p->arm_proc)); - GNUNET_OS_process_destroy (p->arm_proc); - p->arm_proc = NULL; - } -#endif - GNUNET_CONFIGURATION_destroy (p->cfg); -} - - -static void -run (void *cls, char *const *args, const char *cfgfile, +run (void *cls, const struct GNUNET_CONFIGURATION_Handle *cfg) { const char *keywords[] = { @@ -233,7 +181,6 @@ run (void *cls, char *const *args, const char *cfgfile, size_t i; struct GNUNET_FS_BlockOptions bo; - setup_peer (&p1, "test_fs_unindex_data.conf"); fn = GNUNET_DISK_mktemp ("gnunet-unindex-test-dst"); fs = GNUNET_FS_start (cfg, "test-fs-unindex", &progress_cb, NULL, GNUNET_FS_FLAGS_NONE, GNUNET_FS_OPTIONS_END); @@ -269,35 +216,10 @@ run (void *cls, char *const *args, const char *cfgfile, int main (int argc, char *argv[]) { - char *const argvx[] = { - "test-fs-unindex", - "-c", - "test_fs_unindex_data.conf", -#if VERBOSE - "-L", "DEBUG", -#endif - NULL - }; - struct GNUNET_GETOPT_CommandLineOption options[] = { - GNUNET_GETOPT_OPTION_END - }; - - GNUNET_log_setup ("test_fs_unindex", -#if VERBOSE - "DEBUG", -#else - "WARNING", -#endif - NULL); - GNUNET_PROGRAM_run ((sizeof (argvx) / sizeof (char *)) - 1, argvx, - "test-fs-unindex", "nohelp", options, &run, NULL); - stop_arm (&p1); - GNUNET_DISK_directory_remove ("/tmp/gnunet-test-fs-unindex/"); - if (NULL != fn) - { - GNUNET_DISK_directory_remove (fn); - GNUNET_free (fn); - } + if (0 != GNUNET_TESTING_peer_run ("test-fs-unindex", + "test_fs_unindex_data.conf", + &run, NULL)) + return 1; return 0; } diff --git a/src/fs/test_fs_unindex_persistence.c b/src/fs/test_fs_unindex_persistence.c index c6b1062e1..8f4364c28 100644 --- a/src/fs/test_fs_unindex_persistence.c +++ b/src/fs/test_fs_unindex_persistence.c @@ -25,13 +25,9 @@ */ #include "platform.h" #include "gnunet_util_lib.h" -#include "gnunet_arm_service.h" +#include "gnunet_testing_lib-new.h" #include "gnunet_fs_service.h" -#define VERBOSE GNUNET_NO - -#define START_ARM GNUNET_YES - /** * File-size we use for testing. */ @@ -47,15 +43,6 @@ */ #define LIFETIME GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MINUTES, 15) -struct PeerContext -{ - struct GNUNET_CONFIGURATION_Handle *cfg; -#if START_ARM - struct GNUNET_OS_Process *arm_proc; -#endif -}; - -static struct PeerContext p1; static struct GNUNET_TIME_Absolute start; @@ -69,6 +56,7 @@ static char *fn; static const struct GNUNET_CONFIGURATION_Handle *cfg; + static void abort_publish_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { @@ -136,14 +124,13 @@ progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) switch (event->status) { case GNUNET_FS_STATUS_PUBLISH_PROGRESS: -#if VERBOSE - printf ("Publish is progressing (%llu/%llu at level %u off %llu)...\n", - (unsigned long long) event->value.publish.completed, - (unsigned long long) event->value.publish.size, - event->value.publish.specifics.progress.depth, - (unsigned long long) event->value.publish.specifics. - progress.offset); -#endif + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Publish is progressing (%llu/%llu at level %u off %llu)...\n", + (unsigned long long) event->value.publish.completed, + (unsigned long long) event->value.publish.size, + event->value.publish.specifics.progress.depth, + (unsigned long long) event->value.publish.specifics. + progress.offset); break; case GNUNET_FS_STATUS_PUBLISH_COMPLETED: printf ("Publishing complete, %llu kbps.\n", @@ -167,14 +154,13 @@ progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) case GNUNET_FS_STATUS_UNINDEX_PROGRESS: consider_restart (event->status); GNUNET_assert (unindex == event->value.unindex.uc); -#if VERBOSE - printf ("Unindex is progressing (%llu/%llu at level %u off %llu)...\n", - (unsigned long long) event->value.unindex.completed, - (unsigned long long) event->value.unindex.size, - event->value.unindex.specifics.progress.depth, - (unsigned long long) event->value.unindex.specifics. - progress.offset); -#endif + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Unindex is progressing (%llu/%llu at level %u off %llu)...\n", + (unsigned long long) event->value.unindex.completed, + (unsigned long long) event->value.unindex.size, + event->value.unindex.specifics.progress.depth, + (unsigned long long) event->value.unindex.specifics. + progress.offset); break; case GNUNET_FS_STATUS_PUBLISH_SUSPEND: if (event->value.publish.pc == publish) @@ -244,44 +230,7 @@ progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) static void -setup_peer (struct PeerContext *p, const char *cfgname) -{ - p->cfg = GNUNET_CONFIGURATION_create (); -#if START_ARM - p->arm_proc = - GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", - "gnunet-service-arm", -#if VERBOSE - "-L", "DEBUG", -#endif - "-c", cfgname, NULL); -#endif - GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); -} - - -static void -stop_arm (struct PeerContext *p) -{ -#if START_ARM - if (NULL != p->arm_proc) - { - if (0 != GNUNET_OS_process_kill (p->arm_proc, SIGTERM)) - GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); - if (GNUNET_OS_process_wait (p->arm_proc) != GNUNET_OK) - GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid"); - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ARM process %u stopped\n", - GNUNET_OS_process_get_pid (p->arm_proc)); - GNUNET_OS_process_destroy (p->arm_proc); - p->arm_proc = NULL; - } -#endif - GNUNET_CONFIGURATION_destroy (p->cfg); -} - - -static void -run (void *cls, char *const *args, const char *cfgfile, +run (void *cls, const struct GNUNET_CONFIGURATION_Handle *c) { const char *keywords[] = { @@ -296,7 +245,6 @@ run (void *cls, char *const *args, const char *cfgfile, struct GNUNET_FS_BlockOptions bo; cfg = c; - setup_peer (&p1, "test_fs_unindex_data.conf"); fn = GNUNET_DISK_mktemp ("gnunet-unindex-test-dst"); fs = GNUNET_FS_start (cfg, "test-fs-unindex-persistence", &progress_cb, NULL, GNUNET_FS_FLAGS_PERSISTENCE, GNUNET_FS_OPTIONS_END); @@ -332,35 +280,10 @@ run (void *cls, char *const *args, const char *cfgfile, int main (int argc, char *argv[]) { - char *const argvx[] = { - "test-fs-unindex", - "-c", - "test_fs_unindex_data.conf", -#if VERBOSE - "-L", "DEBUG", -#endif - NULL - }; - struct GNUNET_GETOPT_CommandLineOption options[] = { - GNUNET_GETOPT_OPTION_END - }; - - GNUNET_log_setup ("test_fs_unindex_persistence", -#if VERBOSE - "DEBUG", -#else - "WARNING", -#endif - NULL); - GNUNET_PROGRAM_run ((sizeof (argvx) / sizeof (char *)) - 1, argvx, - "test-fs-unindex", "nohelp", options, &run, NULL); - stop_arm (&p1); - GNUNET_DISK_directory_remove ("/tmp/gnunet-test-fs-unindex/"); - if (NULL != fn) - { - GNUNET_DISK_directory_remove (fn); - GNUNET_free (fn); - } + if (0 != GNUNET_TESTING_peer_run ("test-fs-unindex-persistence", + "test_fs_unindex_data.conf", + &run, NULL)) + return 1; return 0; }