X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fhostlist%2Ftest_gnunet_daemon_hostlist_reconnect.c;h=6b38ffe19dc61006a4b219951009bddce2a2daa2;hb=6fd0a7efde08115b568b99b7755861a50f1b6c2e;hp=92cd7fcc593efb073447fe4d1a025b29080869bf;hpb=416c2f5a713b93ba689a8cd1e038682a53e6bc17;p=oweals%2Fgnunet.git diff --git a/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c b/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c index 92cd7fcc5..6b38ffe19 100644 --- a/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c +++ b/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c @@ -28,11 +28,6 @@ #include "gnunet_arm_service.h" #include "gnunet_transport_service.h" -#define VERBOSE GNUNET_EXTRA_LOGGING - -#define START_ARM GNUNET_YES - - /** * How long until we give up on transmitting the message? */ @@ -48,9 +43,7 @@ struct PeerContext struct GNUNET_TRANSPORT_Handle *th; struct GNUNET_MessageHeader *hello; struct GNUNET_TRANSPORT_GetHelloHandle *ghh; -#if START_ARM struct GNUNET_OS_Process *arm_proc; -#endif }; static struct PeerContext p1; @@ -107,14 +100,10 @@ timeout_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) * @param distance in overlay hops, as given by transport plugin */ static void -notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer, - const struct GNUNET_ATS_Information *ats, uint32_t ats_count) +notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer) { if (peer == NULL) return; -#if VERBOSE - FPRINTF (stderr, "Peer %s connected\n", GNUNET_i2s (peer)); -#endif GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peers connected, shutting down.\n"); ok = 0; if (timeout_task != GNUNET_SCHEDULER_NO_TASK) @@ -141,21 +130,20 @@ process_hello (void *cls, const struct GNUNET_MessageHeader *message) static void setup_peer (struct PeerContext *p, const char *cfgname) { + char *binary; + + binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); p->cfg = GNUNET_CONFIGURATION_create (); -#if START_ARM p->arm_proc = - GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", + GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, binary, "gnunet-service-arm", -#if VERBOSE - "-L", "DEBUG", -#endif "-c", cfgname, NULL); -#endif GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (p->cfg, cfgname)); p->th = GNUNET_TRANSPORT_connect (p->cfg, NULL, p, NULL, ¬ify_connect, NULL); GNUNET_assert (p->th != NULL); p->ghh = GNUNET_TRANSPORT_get_hello (p->th, &process_hello, p); + GNUNET_free (binary); } @@ -164,17 +152,15 @@ waitpid_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { struct PeerContext *p = cls; -#if START_ARM GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Killing ARM process.\n"); - if (0 != GNUNET_OS_process_kill (p->arm_proc, SIGTERM)) + if (0 != GNUNET_OS_process_kill (p->arm_proc, GNUNET_TERM_SIG)) 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); + GNUNET_OS_process_destroy (p->arm_proc); p->arm_proc = NULL; -#endif GNUNET_CONFIGURATION_destroy (p->cfg); } @@ -212,55 +198,42 @@ run (void *cls, char *const *args, const char *cfgfile, } -static int -check () +int +main (int argcx, char *argvx[]) { - char *const argv[] = { "test-gnunet-daemon-hostlist", + static char *const argv[] = { + "test-gnunet-daemon-hostlist", "-c", "test_gnunet_daemon_hostlist_data.conf", -#if VERBOSE - "-L", "DEBUG", -#endif NULL }; - struct GNUNET_GETOPT_CommandLineOption options[] = { + static struct GNUNET_GETOPT_CommandLineOption options[] = { GNUNET_GETOPT_OPTION_END }; - ok = 1; - GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, - "test-gnunet-daemon-hostlist", "nohelp", options, &run, - &ok); - return ok; -} - - -int -main (int argc, char *argv[]) -{ - - int ret; GNUNET_DISK_directory_remove ("/tmp/test-gnunet-hostlist-peer-1"); GNUNET_DISK_directory_remove ("/tmp/test-gnunet-hostlist-peer-2"); GNUNET_DISK_directory_remove ("/tmp/test-gnunet-hostlist-peer-3"); GNUNET_log_setup ("test-gnunet-daemon-hostlist", -#if VERBOSE - "DEBUG", -#else "WARNING", -#endif NULL); - ret = check (); - if (ret == 0) + ok = 1; + GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, + "test-gnunet-daemon-hostlist", "nohelp", options, &run, + &ok); + if (0 == ok) { FPRINTF (stderr, "%s", "."); /* now do it again */ - ret = check (); + ok = 1; + GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, + "test-gnunet-daemon-hostlist", "nohelp", options, &run, + &ok); FPRINTF (stderr, "%s", ".\n"); } GNUNET_DISK_directory_remove ("/tmp/test-gnunet-hostlist-peer-1"); GNUNET_DISK_directory_remove ("/tmp/test-gnunet-hostlist-peer-2"); GNUNET_DISK_directory_remove ("/tmp/test-gnunet-hostlist-peer-3"); - return ret; + return ok; } /* end of test_gnunet_daemon_hostlist_reconnect.c */