static struct GNUNET_TESTBED_Host *host;
/**
- * The host helper handle
+ * An array of hosts which are loaded from a file
*/
-static struct GNUNET_TESTBED_HelperHandle *helper_handle;
+static struct GNUNET_TESTBED_Host **hosts;
+
+/**
+ * Number of hosts in the above list
+ */
+static unsigned int num_hosts;
/**
* Global test status
static void
do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
- GNUNET_TESTBED_host_stop_ (helper_handle);
GNUNET_TESTBED_host_destroy (host);
+ while (0 != num_hosts)
+ {
+ GNUNET_TESTBED_host_destroy (hosts[num_hosts - 1]);
+ num_hosts--;
+ }
+ GNUNET_free (hosts);
}
/**
- * Callback that will be called when the helper process dies. This is not called
- * when the helper process is stoped using GNUNET_HELPER_stop()
- *
- * @param cls the closure from GNUNET_HELPER_start()
- */
-static void
-exp_cb (void *cls)
-{
- status = GNUNET_SYSERR;
- GNUNET_SCHEDULER_cancel (shutdown_id);
- GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
-}
-
-
-/**
- * Main run function.
+ * Main run function.
*
* @param cls NULL
* @param args arguments passed to GNUNET_PROGRAM_run
GNUNET_assert (NULL != host);
GNUNET_assert (0 == GNUNET_TESTBED_host_get_id_ (host));
GNUNET_assert (host == GNUNET_TESTBED_host_lookup_by_id_ (0));
- helper_handle = GNUNET_TESTBED_host_run_ ("127.0.0.1", host, cfg, &exp_cb, NULL);
- GNUNET_assert (NULL != helper_handle);
- shutdown_id =
- GNUNET_SCHEDULER_add_delayed (TIME_REL_SECS (2), &do_shutdown, NULL);
+ hosts = NULL;
+ num_hosts = GNUNET_TESTBED_hosts_load_from_file ("sample_hosts.txt",
+ &hosts);
+ GNUNET_assert (15 == num_hosts);
+ GNUNET_assert (NULL != hosts);
+ status = GNUNET_YES;
+ shutdown_id =
+ GNUNET_SCHEDULER_add_delayed (TIME_REL_SECS (2), &do_shutdown, NULL);
}
-int main (int argc, char **argv)
+int
+main (int argc, char **argv)
{
char *const argv2[] = { "test_testbed_api_hosts",
- "-c", "test_testbed_api.conf",
- NULL
+ "-c", "test_testbed_api.conf",
+ NULL
};
struct GNUNET_GETOPT_CommandLineOption options[] = {
GNUNET_GETOPT_OPTION_END
};
- status = GNUNET_YES;
- if (GNUNET_OK !=
+ status = GNUNET_SYSERR;
+ if (GNUNET_OK !=
GNUNET_PROGRAM_run ((sizeof (argv2) / sizeof (char *)) - 1, argv2,
- "test_testbed_api_hosts", "nohelp",
- options, &run, NULL))
+ "test_testbed_api_hosts", "nohelp", options, &run,
+ NULL))
return 1;
return (GNUNET_OK == status) ? 0 : 1;
}
+
+/* end of test_testbed_api_hosts.c */