From 48cc55589e0ba907fc2d50c5fbb42692a0bdba3e Mon Sep 17 00:00:00 2001 From: Sree Harsha Totakura Date: Wed, 20 Jun 2012 19:24:26 +0000 Subject: lockmanager testcase new testing library --- src/lockmanager/test_lockmanager_api_lockrelease.c | 111 ++++----------------- 1 file changed, 20 insertions(+), 91 deletions(-) (limited to 'src/lockmanager/test_lockmanager_api_lockrelease.c') diff --git a/src/lockmanager/test_lockmanager_api_lockrelease.c b/src/lockmanager/test_lockmanager_api_lockrelease.c index 64e328ba0..dafba954e 100644 --- a/src/lockmanager/test_lockmanager_api_lockrelease.c +++ b/src/lockmanager/test_lockmanager_api_lockrelease.c @@ -26,15 +26,18 @@ #include "platform.h" #include "gnunet_util_lib.h" +#include "gnunet_testing_lib-new.h" #include "gnunet_lockmanager_service.h" -#define VERBOSE GNUNET_YES - -#define VERBOSE_ARM 1 - +/** + * Generic Logging shorthand + */ #define LOG(kind,...) \ GNUNET_log (kind, __VA_ARGS__) +/** + * Relative seconds shorthand + */ #define TIME_REL_SECONDS(min) \ GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, min) @@ -70,15 +73,10 @@ enum Test */ static enum Test result; -/** - * The process id of the GNUNET ARM process - */ -static struct GNUNET_OS_Process *arm_pid = NULL; - /** * Configuration Handle */ -static struct GNUNET_CONFIGURATION_Handle *config; +static const struct GNUNET_CONFIGURATION_Handle *config; /** * The handle to the lockmanager service @@ -119,20 +117,9 @@ do_shutdown (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc) { GNUNET_SCHEDULER_cancel (abort_task_id); abort_task_id = GNUNET_SCHEDULER_NO_TASK; - } - + } GNUNET_LOCKMANAGER_disconnect (handle); GNUNET_LOCKMANAGER_disconnect (handle2); - if (0 != GNUNET_OS_process_kill (arm_pid, SIGTERM)) - { - LOG (GNUNET_ERROR_TYPE_DEBUG, - "Kill gnunet-service-arm manually\n"); - } - GNUNET_OS_process_wait (arm_pid); - GNUNET_OS_process_destroy (arm_pid); - - if (NULL != config) - GNUNET_CONFIGURATION_destroy (config); } @@ -204,14 +191,15 @@ status_cb (void *cls, /** - * Testing function - * - * @param cls NULL - * @param tc the task context + * Main point of test execution */ static void -test (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) -{ +run (void *cls, + const struct GNUNET_CONFIGURATION_Handle *cfg, + struct GNUNET_TESTING_Peer *peer) +{ + LOG (GNUNET_ERROR_TYPE_DEBUG, "Starting test...\n"); + config = cfg; result = TEST_INIT; handle = GNUNET_LOCKMANAGER_connect (config); GNUNET_assert (NULL != handle); @@ -229,73 +217,14 @@ test (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) } -/** - * Main point of test execution - */ -static void -run (void *cls, char *const *args, const char *cfgfile, - const struct GNUNET_CONFIGURATION_Handle *cfg) -{ - LOG (GNUNET_ERROR_TYPE_DEBUG, "Starting test...\n"); - config = GNUNET_CONFIGURATION_dup (cfg); - arm_pid = - GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", - "gnunet-service-arm", -#if VERBOSE_ARM - "-L", "DEBUG", -#endif - "-c", "test_lockmanager_api.conf", NULL); - - GNUNET_assert (NULL != arm_pid); - GNUNET_SCHEDULER_add_delayed (TIME_REL_SECONDS (3), - &test, - NULL); -} - - /** * Main function */ int main (int argc, char **argv) { - int ret; - - char *const argv2[] = { "test_lockmanager_api_lockrelease", - "-c", "test_lockmanager_api.conf", -#if VERBOSE - "-L", "DEBUG", -#endif - NULL - }; - - struct GNUNET_GETOPT_CommandLineOption options[] = { - GNUNET_GETOPT_OPTION_END - }; - - GNUNET_log_setup ("test_lockmanager_api_lockrelease", -#if VERBOSE - "DEBUG", -#else - "WARNING", -#endif - NULL); - - ret = - GNUNET_PROGRAM_run ((sizeof (argv2) / sizeof (char *)) - 1, argv2, - "test_lockmanager_api_lockrelease", - "nohelp", options, &run, NULL); - - if (GNUNET_OK != ret) - { - LOG (GNUNET_ERROR_TYPE_WARNING, "run failed with error code %d\n", - ret); + if (0 != GNUNET_TESTING_peer_run ("test_lockmanager_api_lockrelease", + "test_lockmanager_api.conf", + &run, NULL)) return 1; - } - if (TEST_CLIENT2_LOCK_SUCCESS != result) - { - LOG (GNUNET_ERROR_TYPE_WARNING, "test failed\n"); - return 1; - } - LOG (GNUNET_ERROR_TYPE_INFO, "test OK\n"); - return 0; + return (TEST_CLIENT2_LOCK_SUCCESS != result) ? 1 : 0; } -- cgit v1.2.3