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
*
*/
static void
overlay_connect_status (void *cls,
- struct GNUNET_TESTBED_Operation *op,
+ struct GNUNET_TESTBED_Operation *op_,
const char *emsg)
{
+ GNUNET_assert (op_ == op);
GNUNET_TESTBED_operation_done (op);
op = NULL;
if (NULL == emsg)
GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "Peers 0 and 2 should not get connected\n");
else
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peers 0 and 2 not connected: %s. Success!\n", emsg);
result = GNUNET_OK;
+ }
GNUNET_SCHEDULER_shutdown ();
}
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);
- getchar();
op = GNUNET_TESTBED_overlay_connect (NULL,
&overlay_connect_status,
NULL,
peers_[0],
peers_[2]);
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS,
+ 60),
+ &do_shutdown, NULL);
}