GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 2, or (at your
+ by the Free Software Foundation; either version 3, or (at your
option) any later version.
GNUnet is distributed in the hope that it will be useful, but
#include "gnunet_testing_lib.h"
#include "gnunet_core_service.h"
-#define VERBOSE GNUNET_YES
+#define VERBOSE GNUNET_NO
/**
* How long until we fail the whole testcase?
uint32_t uid;
};
+
+/**
+ * Check whether peers successfully shut down.
+ */
+void shutdown_callback (void *cls,
+ const char *emsg)
+{
+ if (emsg != NULL)
+ {
+#if VERBOSE
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Shutdown of peers failed!\n");
+#endif
+ if (ok == 0)
+ ok = 666;
+ }
+ else
+ {
+#if VERBOSE
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "All peers successfully shut down!\n");
+#endif
+ }
+}
+
static void
finish_testing ()
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Calling daemons_stop\n");
#endif
- GNUNET_TESTING_daemons_stop (pg, TIMEOUT);
+ GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL);
#if VERBOSE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"daemons_stop finished\n");
if (pg != NULL)
{
- GNUNET_TESTING_daemons_stop (pg, TIMEOUT);
+ GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL);
ok = 7331; /* Opposite of leet */
}
else
topology_callback (void *cls,
const struct GNUNET_PeerIdentity *first,
const struct GNUNET_PeerIdentity *second,
+ uint32_t distance,
const struct GNUNET_CONFIGURATION_Handle *first_cfg,
const struct GNUNET_CONFIGURATION_Handle *second_cfg,
struct GNUNET_TESTING_Daemon *first_daemon,
expected_connections = -1;
if ((pg != NULL) && (peers_left == 0))
{
- expected_connections = GNUNET_TESTING_connect_topology (pg, connection_topology, connect_topology_option, connect_topology_option_modifier);
+ expected_connections = GNUNET_TESTING_connect_topology (pg, connection_topology, connect_topology_option, connect_topology_option_modifier, NULL, NULL);
#if VERBOSE
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Have %d expected connections\n", expected_connections);
if (GNUNET_YES != GNUNET_CONFIGURATION_get_value_string(cfg, "paths", "servicehome", &test_directory))
{
ok = 404;
+ if (dotOutFile != NULL)
+ {
+ fclose(dotOutFile);
+ }
return;
}
"connect_topology_option_modifier",
"TESTING");
GNUNET_free (connect_topology_option_modifier_string);
+ ok = 707;
+ if (dotOutFile != NULL)
+ {
+ fclose(dotOutFile);
+ }
+ return;
}
+ GNUNET_free (connect_topology_option_modifier_string);
}
- GNUNET_CONFIGURATION_get_value_string (cfg, "testing", "blacklist_transports",
- &blacklist_transports);
+ if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_string (cfg, "testing", "blacklist_transports",
+ &blacklist_transports))
+ {
+ GNUNET_log(GNUNET_ERROR_TYPE_WARNING, "No transports specified for blacklisting in blacklist testcase (this shouldn't happen!)\n");
+ ok = 808;
+ if (dotOutFile != NULL)
+ {
+ fclose(dotOutFile);
+ }
+ return;
+ }
if (GNUNET_YES ==
GNUNET_CONFIGURATION_get_value_number (cfg, "testing", "blacklist_topology",
main_cfg = cfg;
+ GNUNET_assert(num_peers > 0 && num_peers < (unsigned int)-1);
peers_left = num_peers;
/* For this specific test we only really want a CLIQUE topology as the