From 77463bc3a995cf19a1bfb7512530c29aa1bc80cc Mon Sep 17 00:00:00 2001 From: Sree Harsha Totakura Date: Tue, 21 Aug 2012 13:46:43 +0000 Subject: added checks for passwordless ssh login during tests --- src/testbed/Makefile.am | 3 ++- src/testbed/test_testbed_api_controllerlink.c | 24 +++++++++++++++++++++++- src/testbed/testbed_api.c | 5 +++-- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/testbed/Makefile.am b/src/testbed/Makefile.am index 0e703750b..22870bd9a 100644 --- a/src/testbed/Makefile.am +++ b/src/testbed/Makefile.am @@ -81,7 +81,8 @@ if ENABLE_TEST_RUN test_testbed_api_hosts \ test_testbed_api_2peers \ test_testbed_api_operations \ - test_gnunet_testbed_helper + test_gnunet_testbed_helper \ + test_testbed_api_controllerlink endif test_testbed_api_hosts_SOURCES = \ diff --git a/src/testbed/test_testbed_api_controllerlink.c b/src/testbed/test_testbed_api_controllerlink.c index d002da7f2..70f6fa846 100644 --- a/src/testbed/test_testbed_api_controllerlink.c +++ b/src/testbed/test_testbed_api_controllerlink.c @@ -330,7 +330,6 @@ run (void *cls, char *const *args, const char *cfgfile, int main (int argc, char **argv) { int ret; - char *const argv2[] = { "test_testbed_api_controllerlink", "-c", "test_testbed_api.conf", NULL @@ -338,6 +337,29 @@ int main (int argc, char **argv) struct GNUNET_GETOPT_CommandLineOption options[] = { GNUNET_GETOPT_OPTION_END }; + char *const remote_args[] = { + "ssh", "-o", "BatchMode=yes", "127.0.0.1", "echo", "Hello", "World", NULL + }; + struct GNUNET_OS_Process *auxp; + enum GNUNET_OS_ProcessStatusType type; + unsigned long code; + + auxp = GNUNET_OS_start_process_vap (GNUNET_NO, GNUNET_OS_INHERIT_STD_ALL, + NULL, NULL, "ssh", remote_args); + GNUNET_assert (NULL != auxp); + do + { + ret = GNUNET_OS_process_status (auxp, &type, &code); + GNUNET_assert (GNUNET_SYSERR != ret); + (void) usleep (300); + } while (GNUNET_NO == ret); + if (0 != code) + { + (void) printf ("Unable to run the test as this system is not configured " + "to use password less SSH logins to localhost.\n" + "Marking test as successful\n"); + return 0; + } result = INIT; ret = GNUNET_PROGRAM_run ((sizeof (argv2) / sizeof (char *)) - 1, argv2, "test_testbed_api_controllerlink", "nohelp", options, &run, diff --git a/src/testbed/testbed_api.c b/src/testbed/testbed_api.c index 01abc97a8..213e5542b 100644 --- a/src/testbed/testbed_api.c +++ b/src/testbed/testbed_api.c @@ -888,8 +888,9 @@ struct GNUNET_TESTBED_ControllerProc * * @return GNUNET_OK on success, GNUNET_SYSERR to stop further processing */ -static int helper_mst (void *cls, void *client, - const struct GNUNET_MessageHeader *message) +static int +helper_mst (void *cls, void *client, + const struct GNUNET_MessageHeader *message) { struct GNUNET_TESTBED_ControllerProc *cp = cls; const struct GNUNET_TESTBED_HelperReply *msg; -- cgit v1.2.3