From: Nathan S. Evans Date: Wed, 5 Jan 2011 16:44:08 +0000 (+0000) Subject: hopefully send to self test will run on buildbots X-Git-Tag: initial-import-from-subversion-38251~19366 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=00a8fb6d0433d4c9a8e8cb92ab224ff01d3c639b;p=oweals%2Fgnunet.git hopefully send to self test will run on buildbots --- diff --git a/src/core/Makefile.am b/src/core/Makefile.am index e8d836717..de49efc68 100644 --- a/src/core/Makefile.am +++ b/src/core/Makefile.am @@ -25,7 +25,7 @@ libgnunetcore_la_LDFLAGS = \ bin_PROGRAMS = \ - gnunet-service-core test_core_api_send_to_self + gnunet-service-core gnunet_service_core_SOURCES = \ gnunet-service-core.c diff --git a/src/core/test_core_api_send_to_self.c b/src/core/test_core_api_send_to_self.c index e8121e327..48dd0ee73 100644 --- a/src/core/test_core_api_send_to_self.c +++ b/src/core/test_core_api_send_to_self.c @@ -47,6 +47,11 @@ static struct GNUNET_PeerIdentity myself; */ struct GNUNET_CORE_Handle *core; +/** + * Handle to gnunet-service-arm. + */ +struct GNUNET_OS_Process *arm_proc; + /** * Function scheduled as very last function, cleans up after us */ @@ -62,6 +67,19 @@ cleanup (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tskctx) core = NULL; } + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Stopping peer\n"); + if (0 != GNUNET_OS_process_kill (arm_proc, SIGTERM)) + GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); + + if (GNUNET_OS_process_wait(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 (arm_proc)); + GNUNET_OS_process_close (arm_proc); + arm_proc = NULL; + GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Ending test.\n"); } @@ -137,18 +155,28 @@ connect_cb (void *cls, const struct GNUNET_PeerIdentity *peer, static void run (void *cls, char *const *args, - const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg_) + const char *cfgfile, + const struct GNUNET_CONFIGURATION_Handle *cfg) { const static struct GNUNET_CORE_MessageHandler handlers[] = { - {receive, GNUNET_MESSAGE_TYPE_SERVICE_UDP, 0}, + {&receive, GNUNET_MESSAGE_TYPE_SERVICE_UDP, 0}, {NULL, 0, 0} }; - core = GNUNET_CORE_connect (cfg_, + + arm_proc = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", + "gnunet-service-arm", +#if VERBOSE + "-L", "DEBUG", +#endif + "-c", "test_core_api_data.conf", NULL); + + core = GNUNET_CORE_connect (cfg, 42, NULL, - init, - connect_cb, + &init, + &connect_cb, NULL, NULL, NULL, 0, NULL, 0, handlers); + die_task = GNUNET_SCHEDULER_add_delayed(GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 60), &cleanup, cls); }