commit 7ab6edba583d8d09d2c830c9c5b6fe155d31b408
parent e7c031de1d196d5450213fad53419f76c0299109
Author: Sree Harsha Totakura <totakura@in.tum.de>
Date: Wed, 8 Jan 2014 21:29:00 +0000
-fixes
Diffstat:
4 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/src/testbed/gnunet-daemon-testbed-underlay.c b/src/testbed/gnunet-daemon-testbed-underlay.c
@@ -158,7 +158,13 @@ check_access (void *cls, const struct GNUNET_PeerIdentity * pid)
GNUNET_assert (NULL != map);
contains = GNUNET_CONTAINER_multipeermap_contains (map, pid);
- return (contains) ? GNUNET_OK : GNUNET_SYSERR;
+ if (GNUNET_YES == contains)
+ {
+ DEBUG ("Permitting `%s'\n", GNUNET_i2s (pid));
+ return GNUNET_OK;
+ }
+ DEBUG ("Not permitting `%s'\n", GNUNET_i2s (pid));
+ return GNUNET_SYSERR;
}
diff --git a/src/testbed/test_testbed_underlay.c b/src/testbed/test_testbed_underlay.c
@@ -43,6 +43,21 @@ static struct GNUNET_TESTBED_Operation *op;
/**
+ * Shutdown testcase
+ *
+ * @param cls NULL
+ * @param tc scheduler task context
+ */
+static void
+do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+ if (NULL != op)
+ GNUNET_TESTBED_operation_done (op);
+ op = NULL;
+}
+
+
+/**
* Callback to be called when an operation is completed
*
* @param cls the callback closure from functions generating an operation
@@ -90,6 +105,7 @@ test_master (void *cls,
if (NULL == peers_)
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failing test due to timeout\n");
+ GNUNET_SCHEDULER_shutdown ();
return;
}
GNUNET_assert (NUM_PEERS == num_peers);
@@ -99,6 +115,9 @@ test_master (void *cls,
NULL,
peers_[0],
peers_[2]);
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS,
+ 15),
+ &do_shutdown, NULL);
}
diff --git a/src/testbed/test_testbed_underlay.conf.in b/src/testbed/test_testbed_underlay.conf.in
@@ -2,6 +2,7 @@
[testbed]
OVERLAY_TOPOLOGY = LINE
+OPERATION_TIMEOUT = 5 s
[testbed-underlay]
AUTOSTART = NO
diff --git a/src/testbed/testbed_api_testbed.c b/src/testbed/testbed_api_testbed.c
@@ -448,12 +448,11 @@ remove_rcop (struct GNUNET_TESTBED_RunHandle *rc, struct RunContextOperation *rc
/**
* Assuming all peers have been destroyed cleanup run handle
*
- * @param cls the run handle
+ * @param rc the run context
*/
static void
-cleanup (void *cls)
+cleanup (struct GNUNET_TESTBED_RunHandle *rc)
{
- struct GNUNET_TESTBED_RunHandle *rc = cls;
unsigned int hid;
GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == rc->register_hosts_task);