Check that you are not present in trail twice
[oweals/gnunet.git] / src / transport / test_transport_address_switch.c
index 469dfbf55f58512552b3380483a56e1fbd64bc71..fcbd798d04655dfe084abfdd57a6be1b041b9ac0 100644 (file)
@@ -228,9 +228,11 @@ clean_up ()
   if (NULL != p1_stat)
   {
     GNUNET_STATISTICS_watch_cancel (p1_stat, "transport",
-        "# Attempts to switch addresses", stat_start_attempt_cb, p1);
+        "# Attempts to switch addresses",
+        stat_start_attempt_cb, p1);
     GNUNET_STATISTICS_watch_cancel (p1_stat, "transport",
-        "# Successful attempts to switch addresses", stat_success_attempt_cb, p1);
+        "# Successful attempts to switch addresses",
+        stat_success_attempt_cb, p1);
     GNUNET_STATISTICS_watch_cancel (p1_stat, "transport",
         "# Failed attempts to switch addresses (failed to send CONNECT CONT)",
         stat_fail_attempt_cb, p1);
@@ -261,9 +263,9 @@ clean_up ()
     GNUNET_STATISTICS_watch_cancel (p2_stat, "transport",
         "# Failed attempts to switch addresses (no response)",
         stat_fail_attempt_cb, p2);
-    GNUNET_STATISTICS_watch (p1_stat, "transport",
+    GNUNET_STATISTICS_watch (p2_stat, "transport",
         "# transport addresses",
-        stat_addresses_available, p1);
+        stat_addresses_available, p2);
     GNUNET_STATISTICS_destroy (p2_stat, GNUNET_NO);
     p2_stat = NULL;
   }
@@ -313,7 +315,10 @@ end ()
     FPRINTF (stderr, "Peer 1 tried %u times to switch and succeeded %u times, failed %u times\n",
         p1_switch_attempts, p1_switch_success, p1_switch_fail);
     if (p1_switch_success != p1_switch_attempts)
+    {
+      GNUNET_break (0);
       result ++;
+    }
   }
   else
   {
@@ -325,7 +330,10 @@ end ()
     FPRINTF (stderr, "Peer 2 tried %u times to switch and succeeded %u times, failed %u times\n",
         p2_switch_attempts, p2_switch_success, p2_switch_fail);
     if (p2_switch_success != p2_switch_attempts)
+    {
+      GNUNET_break (0);
       result ++;
+    }
   }
   else
   {
@@ -337,12 +345,14 @@ end ()
        (bytes_sent_after_switch == 0) )
   {
     FPRINTF (stderr, "No data sent after switching!\n");
+    GNUNET_break (0);
     res ++;
   }
   if ( ((p1_switch_attempts > 0) || (p2_switch_attempts > 0)) &&
        (bytes_recv_after_switch == 0) )
   {
     FPRINTF (stderr, "No data received after switching!\n");
+    GNUNET_break (0);
     res ++;
   }
 
@@ -591,6 +601,19 @@ run (void *cls, char * const *args, const char *cfgfile,
 
   p1 = GNUNET_TRANSPORT_TESTING_start_peer (tth, cfg_file_p1, 1,
       &notify_receive, &notify_connect, &notify_disconnect, &start_cb, NULL );
+
+  p2 = GNUNET_TRANSPORT_TESTING_start_peer (tth, cfg_file_p2, 2,
+      &notify_receive, &notify_connect, &notify_disconnect, &start_cb, NULL );
+
+  if ((p1 == NULL )|| (p2 == NULL))
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Fail! Could not start peers!\n");
+    if (die_task != GNUNET_SCHEDULER_NO_TASK)
+    GNUNET_SCHEDULER_cancel (die_task);
+    die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
+    return;
+  }
+
   p1_stat = GNUNET_STATISTICS_create ("transport", p1->cfg);
   GNUNET_STATISTICS_watch (p1_stat, "transport",
       "# Attempts to switch addresses",
@@ -611,9 +634,6 @@ run (void *cls, char * const *args, const char *cfgfile,
       "# transport addresses",
       stat_addresses_available, p1);
 
-  p2 = GNUNET_TRANSPORT_TESTING_start_peer (tth, cfg_file_p2, 2,
-      &notify_receive, &notify_connect, &notify_disconnect, &start_cb, NULL );
-
   p2_stat = GNUNET_STATISTICS_create ("transport", p2->cfg);
   GNUNET_STATISTICS_watch (p2_stat, "transport",
       "# Attempts to switch addresses",
@@ -634,15 +654,6 @@ run (void *cls, char * const *args, const char *cfgfile,
       "# transport addresses",
       stat_addresses_available, p2);
 
-  if ((p1 == NULL )|| (p2 == NULL))
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Fail! Could not start peers!\n");
-    if (die_task != GNUNET_SCHEDULER_NO_TASK)
-    GNUNET_SCHEDULER_cancel (die_task);
-    die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
-    return;
-  }
-
   if ((p1_stat == NULL )|| (p2_stat == NULL))
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Fail! Could not create statistics for peers!\n");