X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fnat%2Ftest_nat_test.c;h=64617880aae5dbe4529f6a287b12003d5a37da7a;hb=57aab79c1d1b7036018eca127501632e85c4b37b;hp=32c4fb2d8f7556b27bec13458d8d09db2bdca1e8;hpb=8dc32abbeff6b4b348253afed6c60543665a34c2;p=oweals%2Fgnunet.git diff --git a/src/nat/test_nat_test.c b/src/nat/test_nat_test.c index 32c4fb2d8..64617880a 100644 --- a/src/nat/test_nat_test.c +++ b/src/nat/test_nat_test.c @@ -35,7 +35,7 @@ /** - * Time to wait before stopping NAT test, in seconds + * Time to wait before stopping NAT test, in seconds */ #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 15) @@ -47,15 +47,13 @@ static struct GNUNET_NAT_Test *tst; static GNUNET_SCHEDULER_TaskIdentifier end; static void -end_test (void *cls, - const struct GNUNET_SCHEDULER_TaskContext *tc) +end_test (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { GNUNET_NAT_test_stop (tst); } static void -report_success (void *cls, - int success) +report_success (void *cls, int success) { GNUNET_assert (GNUNET_OK == success); ret = 0; @@ -67,18 +65,15 @@ report_success (void *cls, * Main function run with scheduler. */ static void -run (void *cls, - char *const *args, - const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) +run (void *cls, char *const *args, const char *cfgfile, + const struct GNUNET_CONFIGURATION_Handle *cfg) { - tst = GNUNET_NAT_test_start (cfg, GNUNET_YES, - 1285, 1285, - &report_success, NULL); + tst = + GNUNET_NAT_test_start (cfg, GNUNET_YES, 1285, 1285, &report_success, + NULL); if (NULL == tst) return; - end = GNUNET_SCHEDULER_add_delayed (TIMEOUT, - &end_test, - NULL); + end = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_test, NULL); } @@ -89,6 +84,9 @@ main (int argc, char *const argv[]) GNUNET_GETOPT_OPTION_END }; struct GNUNET_OS_Process *gns; + + int nat_res; + char *const argv_prog[] = { "test-nat-test", "-c", @@ -109,24 +107,28 @@ main (int argc, char *const argv[]) "WARNING", #endif NULL); - gns = GNUNET_OS_start_process (NULL, NULL, - "gnunet-nat-server", - "gnunet-nat-server", + + nat_res = GNUNET_OS_check_helper_binary ("gnunet-nat-server"); + if (GNUNET_SYSERR == nat_res) + { + GNUNET_log (GNUNET_ERROR_TYPE_WARNING, + "Cannot run NAT test: `%s' file not found\n", + "gnunet-nat-server"); + return 0; + } + + gns = + GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-nat-server", + "gnunet-nat-server", #if VERBOSE - "-L", - "DEBUG", + "-L", "DEBUG", #endif - "-c", "test_nat_test_data.conf", - "12345", - NULL); + "-c", "test_nat_test_data.conf", "12345", NULL); GNUNET_assert (NULL != gns); - GNUNET_PROGRAM_run (5, argv_prog, - "test-nat-test", "nohelp", - options, - &run, NULL); + GNUNET_PROGRAM_run (5, argv_prog, "test-nat-test", "nohelp", options, &run, + NULL); GNUNET_break (0 == GNUNET_OS_process_kill (gns, SIGTERM)); - GNUNET_break (GNUNET_OK == - GNUNET_OS_process_wait (gns)); + GNUNET_break (GNUNET_OK == GNUNET_OS_process_wait (gns)); GNUNET_OS_process_close (gns); return ret; }