X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Ffs%2Ftest_fs_namespace_list_updateable.c;h=2cec67ddc91246e6b9134aa048ff135542b6a765;hb=6a3aa5797d49178e806fc5cc5713806647cbd040;hp=1cf8653bbc72519b9fc1ef3b6075e59602f1ae62;hpb=721e49caeea6ba5073f8bc5c6c08359295c02bb5;p=oweals%2Fgnunet.git diff --git a/src/fs/test_fs_namespace_list_updateable.c b/src/fs/test_fs_namespace_list_updateable.c index 1cf8653bb..2cec67ddc 100644 --- a/src/fs/test_fs_namespace_list_updateable.c +++ b/src/fs/test_fs_namespace_list_updateable.c @@ -32,8 +32,6 @@ #define START_ARM GNUNET_YES -static struct GNUNET_SCHEDULER_Handle *sched; - static struct PeerContext p1; static struct GNUNET_FS_Handle *fs; @@ -42,27 +40,26 @@ static int err; static struct GNUNET_FS_Namespace *ns; -static struct GNUNET_TIME_Absolute expiration; - static struct GNUNET_CONTAINER_MetaData *meta; static struct GNUNET_FS_Uri *uri_this; static struct GNUNET_FS_Uri *uri_next; +static struct GNUNET_FS_BlockOptions bo; + struct PeerContext { struct GNUNET_CONFIGURATION_Handle *cfg; #if START_ARM - GNUNET_OS_Process *arm_proc; + struct GNUNET_OS_Process *arm_proc; #endif }; static void * -progress_cb (void *cls, - const struct GNUNET_FS_ProgressInfo *event) +progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) { return NULL; } @@ -73,12 +70,13 @@ setup_peer (struct PeerContext *p, const char *cfgname) { p->cfg = GNUNET_CONFIGURATION_create (); #if START_ARM - p->arm_proc = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", - "gnunet-service-arm", + p->arm_proc = + GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", + "gnunet-service-arm", #if VERBOSE - "-L", "DEBUG", + "-L", "DEBUG", #endif - "-c", cfgname, NULL); + "-c", cfgname, NULL); #endif GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); } @@ -88,14 +86,17 @@ static void stop_arm (struct PeerContext *p) { #if START_ARM - 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_close (p->arm_proc); - p->arm_proc = NULL; + 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); @@ -111,11 +112,10 @@ stop_arm (struct PeerContext *p) static void -check_next (void *cls, - const char *last_id, - const struct GNUNET_FS_Uri *last_uri, - const struct GNUNET_CONTAINER_MetaData *last_meta, - const char *next_id) +check_next (void *cls, const char *last_id, + const struct GNUNET_FS_Uri *last_uri, + const struct GNUNET_CONTAINER_MetaData *last_meta, + const char *next_id) { GNUNET_break (0 == strcmp (last_id, "next")); GNUNET_break (0 == strcmp (next_id, "future")); @@ -124,44 +124,34 @@ check_next (void *cls, static void -check_this_next (void *cls, - const char *last_id, - const struct GNUNET_FS_Uri *last_uri, - const struct GNUNET_CONTAINER_MetaData *last_meta, - const char *next_id) +check_this_next (void *cls, const char *last_id, + const struct GNUNET_FS_Uri *last_uri, + const struct GNUNET_CONTAINER_MetaData *last_meta, + const char *next_id) { GNUNET_break (0 == strcmp (last_id, "this")); GNUNET_break (0 == strcmp (next_id, "next")); err -= 2; err += 4; - GNUNET_FS_namespace_list_updateable (ns, - next_id, - &check_next, - NULL); + GNUNET_FS_namespace_list_updateable (ns, next_id, &check_next, NULL); } static void -sks_cont_next (void *cls, - const struct GNUNET_FS_Uri *uri, - const char *emsg) +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); + GNUNET_FS_namespace_list_updateable (ns, NULL, &check_this_next, NULL); } static void -check_this (void *cls, - const char *last_id, - const struct GNUNET_FS_Uri *last_uri, - const struct GNUNET_CONTAINER_MetaData *last_meta, - const char *next_id) +check_this (void *cls, const char *last_id, + const struct GNUNET_FS_Uri *last_uri, + const struct GNUNET_CONTAINER_MetaData *last_meta, + const char *next_id) { GNUNET_break (0 == strcmp (last_id, "this")); GNUNET_break (0 == strcmp (next_id, "next")); @@ -170,27 +160,14 @@ check_this (void *cls, static void -sks_cont_this (void *cls, - const struct GNUNET_FS_Uri *uri, - const char *emsg) +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); - GNUNET_FS_publish_sks (fs, - ns, - "next", - "future", - meta, - uri_next, - expiration, - 1, 1, - GNUNET_FS_PUBLISH_OPTION_NONE, - &sks_cont_next, - NULL); + GNUNET_FS_namespace_list_updateable (ns, NULL, &check_this, NULL); + GNUNET_FS_publish_sks (fs, ns, "next", "future", meta, uri_next, &bo, + GNUNET_FS_PUBLISH_OPTION_NONE, &sks_cont_next, NULL); } @@ -200,46 +177,35 @@ static void testNamespace () { - ns = GNUNET_FS_namespace_create (fs, - "testNamespace"); + ns = GNUNET_FS_namespace_create (fs, "testNamespace"); GNUNET_assert (NULL != ns); - expiration = GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_MINUTES); + bo.content_priority = 1; + bo.anonymity_level = 1; + bo.replication_level = 0; + bo.expiration_time = + GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_MINUTES); meta = GNUNET_CONTAINER_meta_data_create (); uri_this = - GNUNET_FS_uri_parse ("gnunet://fs/chk/C282GG70GKK41O4551011DO413KFBVTVMQG1OG30I0K4045N0G41HAPB82G680A02JRVVFO8URVRU2F159011DO41000000022RG820.RNVVVVOOLCLK065B5D04HTNVNSIB2AI022RG8200HSLK1CO1000ATQ98824DMA2032LIMG50CG0K057NVUVG200000H000004400000.42", NULL); + GNUNET_FS_uri_parse + ("gnunet://fs/chk/C282GG70GKK41O4551011DO413KFBVTVMQG1OG30I0K4045N0G41HAPB82G680A02JRVVFO8URVRU2F159011DO41000000022RG820.RNVVVVOOLCLK065B5D04HTNVNSIB2AI022RG8200HSLK1CO1000ATQ98824DMA2032LIMG50CG0K057NVUVG200000H000004400000.42", + NULL); uri_next = - GNUNET_FS_uri_parse ("gnunet://fs/chk/C282GG70GKK41O4551011DO413KFBVTVMQG1OG30I0K4045N0G41HAPB82G680A02JRVVFO8URVRU2F159011DO41000000022RG820.RNVVVVOOLCLK065B5D04HTNVNSIB2AI022RG8200HSLK1CO1000ATQ98824DMA2032LIMG50CG0K057NVUVG200000H000004400000.43", NULL); - GNUNET_FS_publish_sks (fs, - ns, - "this", - "next", - meta, - uri_this, - expiration, - 1, 1, - GNUNET_FS_PUBLISH_OPTION_NONE, - &sks_cont_this, - NULL); + GNUNET_FS_uri_parse + ("gnunet://fs/chk/C282GG70GKK41O4551011DO413KFBVTVMQG1OG30I0K4045N0G41HAPB82G680A02JRVVFO8URVRU2F159011DO41000000022RG820.RNVVVVOOLCLK065B5D04HTNVNSIB2AI022RG8200HSLK1CO1000ATQ98824DMA2032LIMG50CG0K057NVUVG200000H000004400000.43", + NULL); + GNUNET_FS_publish_sks (fs, ns, "this", "next", meta, uri_this, &bo, + GNUNET_FS_PUBLISH_OPTION_NONE, &sks_cont_this, NULL); } 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) { - sched = s; setup_peer (&p1, "test_fs_namespace_data.conf"); - fs = GNUNET_FS_start (sched, - cfg, - "test-fs-namespace", - &progress_cb, - NULL, - GNUNET_FS_FLAGS_NONE, - GNUNET_FS_OPTIONS_END); + fs = GNUNET_FS_start (cfg, "test-fs-namespace", &progress_cb, NULL, + GNUNET_FS_FLAGS_NONE, GNUNET_FS_OPTIONS_END); testNamespace (); } @@ -247,7 +213,7 @@ run (void *cls, int main (int argc, char *argv[]) { - char *const argvx[] = { + char *const argvx[] = { "test-fs-namespace", "-c", "test_fs_namespace_data.conf", @@ -260,16 +226,15 @@ main (int argc, char *argv[]) GNUNET_GETOPT_OPTION_END }; - GNUNET_log_setup ("test_fs_namespace_list_updateable", + GNUNET_log_setup ("test_fs_namespace_list_updateable", #if VERBOSE - "DEBUG", + "DEBUG", #else - "WARNING", + "WARNING", #endif - NULL); - GNUNET_PROGRAM_run ((sizeof (argvx) / sizeof (char *)) - 1, - argvx, "test-fs-namespace", - "nohelp", options, &run, NULL); + 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/"); return err;