- dist fix
[oweals/gnunet.git] / src / testing_old / testing_group.c
index 62cc185ce9ea97ccc62d1583ad45dad27ac1b978..66c498256ca5583a8f3a6d841e48636b27107c0f 100644 (file)
 #define TOPOLOGY_HACK GNUNET_YES
 
 
+/**
+ * How long do we wait after a FORK+EXEC before testing for the
+ * resulting process to be up (port open, waitpid, etc.)?
+ */
+#define GNUNET_CONSTANTS_EXEC_WAIT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 200)
+
 /**
  * Lowest port used for GNUnet testing.  Should be high enough to not
  * conflict with other applications running on the hosts but be low
@@ -3890,9 +3896,9 @@ GNUNET_TESTING_create_topology (struct GNUNET_TESTING_PeerGroup *pg,
 
   for (i = 0; i < pg->total; i++)
   {
-    pg->peers[i].allowed_peers = GNUNET_CONTAINER_multihashmap_create (100);
-    pg->peers[i].connect_peers = GNUNET_CONTAINER_multihashmap_create (100);
-    pg->peers[i].blacklisted_peers = GNUNET_CONTAINER_multihashmap_create (100);
+    pg->peers[i].allowed_peers = GNUNET_CONTAINER_multihashmap_create (100, GNUNET_NO);
+    pg->peers[i].connect_peers = GNUNET_CONTAINER_multihashmap_create (100, GNUNET_NO);
+    pg->peers[i].blacklisted_peers = GNUNET_CONTAINER_multihashmap_create (100, GNUNET_NO);
     pg->peers[i].pg = pg;
   }
 #endif
@@ -4291,7 +4297,7 @@ choose_random_connections (struct GNUNET_TESTING_PeerGroup *pg,
     random_ctx.percentage = percentage;
     random_ctx.pg = pg;
     pg->peers[pg_iter].connect_peers_working_set =
-        GNUNET_CONTAINER_multihashmap_create (pg->total);
+      GNUNET_CONTAINER_multihashmap_create (pg->total, GNUNET_NO);
     GNUNET_CONTAINER_multihashmap_iterate (pg->peers[pg_iter].connect_peers,
                                            &random_connect_iterator,
                                            &random_ctx);
@@ -4450,7 +4456,7 @@ choose_minimum (struct GNUNET_TESTING_PeerGroup *pg, unsigned int num)
   for (pg_iter = 0; pg_iter < pg->total; pg_iter++)
   {
     pg->peers[pg_iter].connect_peers_working_set =
-        GNUNET_CONTAINER_multihashmap_create (num);
+      GNUNET_CONTAINER_multihashmap_create (num, GNUNET_NO);
   }
 
   for (pg_iter = 0; pg_iter < pg->total; pg_iter++)
@@ -4679,7 +4685,7 @@ perform_dfs (struct GNUNET_TESTING_PeerGroup *pg, unsigned int num)
   for (pg_iter = 0; pg_iter < pg->total; pg_iter++)
   {
     pg->peers[pg_iter].connect_peers_working_set =
-        GNUNET_CONTAINER_multihashmap_create (num);
+      GNUNET_CONTAINER_multihashmap_create (num, GNUNET_NO);
   }
 
   starting_peer = 0;
@@ -5940,9 +5946,26 @@ GNUNET_TESTING_daemons_start (const struct GNUNET_CONFIGURATION_Handle *cfg,
       GNUNET_CONFIGURATION_get_value_string (cfg, "TESTING_OLD", "HOSTKEYSFILE",
                                              &hostkeys_file))
   {
+    /* This is a hack to make old testing able to load keys from datadir,
+     * just as new testing does.
+     * No need to document it, just convert everything to the new testing
+     * framework...
+     */
+    char *DATADIR = "${DATADIR}";
+    size_t ddl = strlen (DATADIR);
+    if (strncmp (hostkeys_file, DATADIR, ddl) == 0)
+    {
+      char *data_dir;
+      char *filename;
+      data_dir = GNUNET_OS_installation_get_path (GNUNET_OS_IPK_DATADIR);
+      GNUNET_asprintf (&filename, "%s%s", data_dir, &hostkeys_file[ddl]);
+      GNUNET_free (data_dir);
+      GNUNET_free (hostkeys_file);
+      hostkeys_file = filename;
+    }
     if (GNUNET_YES != GNUNET_DISK_file_test (hostkeys_file))
       GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                  _("Could not read hostkeys file!\n"));
+                  _("Could not read hostkeys file `%s'!\n"), hostkeys_file);
     else
     {
       /* Check hostkey file size, read entire thing into memory */