aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/test_testbed_api_testbed_run.c
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2012-08-31 07:52:40 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2012-08-31 07:52:40 +0000
commit1a29a996fa7071cd798fbd75c85edbd6daaaeb3c (patch)
treebffd2fb0ae30b7d51bd670702c619b34d25942d2 /src/testbed/test_testbed_api_testbed_run.c
parent970b7619ab2c7cbaad1d8b0cb365faef97fdb0e5 (diff)
downloadgnunet-1a29a996fa7071cd798fbd75c85edbd6daaaeb3c.tar.gz
gnunet-1a29a996fa7071cd798fbd75c85edbd6daaaeb3c.zip
Removed RunHandle return from GNUNET_TESTBED_run
Diffstat (limited to 'src/testbed/test_testbed_api_testbed_run.c')
-rw-r--r--src/testbed/test_testbed_api_testbed_run.c35
1 files changed, 26 insertions, 9 deletions
diff --git a/src/testbed/test_testbed_api_testbed_run.c b/src/testbed/test_testbed_api_testbed_run.c
index dc6bd1ea6..b9fd60d35 100644
--- a/src/testbed/test_testbed_api_testbed_run.c
+++ b/src/testbed/test_testbed_api_testbed_run.c
@@ -29,9 +29,14 @@
29#include "gnunet_testbed_service.h" 29#include "gnunet_testbed_service.h"
30 30
31/** 31/**
32 * Testbed run handle 32 * Number of peers we want to start
33 */ 33 */
34static struct GNUNET_TESTBED_RunHandle *rh; 34#define NUM_PEERS 2
35
36/**
37 * The array of peers; we fill this as the peers are given to us by the testbed
38 */
39static struct GNUNET_TESTBED_Peer *peers[NUM_PEERS];
35 40
36/** 41/**
37 * Abort task identifier 42 * Abort task identifier
@@ -39,6 +44,11 @@ static struct GNUNET_TESTBED_RunHandle *rh;
39static GNUNET_SCHEDULER_TaskIdentifier abort_task; 44static GNUNET_SCHEDULER_TaskIdentifier abort_task;
40 45
41/** 46/**
47 * Current peer id
48 */
49unsigned int peer_id;
50
51/**
42 * Testing result 52 * Testing result
43 */ 53 */
44static int result; 54static int result;
@@ -55,8 +65,7 @@ do_shutdown (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc)
55{ 65{
56 if (GNUNET_SCHEDULER_NO_TASK != abort_task) 66 if (GNUNET_SCHEDULER_NO_TASK != abort_task)
57 GNUNET_SCHEDULER_cancel (abort_task); 67 GNUNET_SCHEDULER_cancel (abort_task);
58 if (NULL != rh) 68 GNUNET_SCHEDULER_shutdown ();
59 GNUNET_TESTBED_shutdown_run (rh);
60} 69}
61 70
62 71
@@ -67,7 +76,7 @@ do_shutdown (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc)
67 * @param tc the task context 76 * @param tc the task context
68 */ 77 */
69static void 78static void
70do_abort (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc) 79do_abort (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
71{ 80{
72 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Test timedout -- Aborting\n"); 81 GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Test timedout -- Aborting\n");
73 abort_task = GNUNET_SCHEDULER_NO_TASK; 82 abort_task = GNUNET_SCHEDULER_NO_TASK;
@@ -101,9 +110,17 @@ static void
101controller_event_cb (void *cls, 110controller_event_cb (void *cls,
102 const struct GNUNET_TESTBED_EventInformation *event) 111 const struct GNUNET_TESTBED_EventInformation *event)
103{ 112{
104 if (GNUNET_TESTBED_ET_PEER_START == event->type) 113
105 return; 114 switch (event->type)
106 GNUNET_break (0); 115 {
116 case GNUNET_TESTBED_ET_PEER_START:
117 GNUNET_assert (NULL == peers[peer_id]);
118 GNUNET_assert (NULL != event->details.peer_start.peer);
119 peers[peer_id++] = event->details.peer_start.peer;
120 break;
121 default:
122 GNUNET_break (0);
123 }
107} 124}
108 125
109 126
@@ -127,7 +144,7 @@ run (void *cls, char *const *args, const char *cfgfile,
127 event_mask |= (1LL << GNUNET_TESTBED_ET_CONNECT); 144 event_mask |= (1LL << GNUNET_TESTBED_ET_CONNECT);
128 event_mask |= (1LL << GNUNET_TESTBED_ET_DISCONNECT); 145 event_mask |= (1LL << GNUNET_TESTBED_ET_DISCONNECT);
129 event_mask |= (1LL << GNUNET_TESTBED_ET_OPERATION_FINISHED); 146 event_mask |= (1LL << GNUNET_TESTBED_ET_OPERATION_FINISHED);
130 rh = GNUNET_TESTBED_run (NULL, config, 2, event_mask, &controller_event_cb, 147 GNUNET_TESTBED_run (NULL, config, 2, event_mask, &controller_event_cb,
131 NULL, &master_task, NULL); 148 NULL, &master_task, NULL);
132 abort_task = GNUNET_SCHEDULER_add_delayed 149 abort_task = GNUNET_SCHEDULER_add_delayed
133 (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5), &do_abort, NULL); 150 (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5), &do_abort, NULL);