better failure handling
authorNathan S. Evans <evans@in.tum.de>
Mon, 10 May 2010 12:43:22 +0000 (12:43 +0000)
committerNathan S. Evans <evans@in.tum.de>
Mon, 10 May 2010 12:43:22 +0000 (12:43 +0000)
src/testing/test_testing_group.c

index 8458bfbd631e6394a81e756e5d16be1aaa8a1b2e..9669450035e164177f2179b76760c82eac424fde 100644 (file)
@@ -19,7 +19,7 @@
 */
 /**
  * @file testing/test_testing_group.c
- * @brief testcase for functions to connect two peers in testing.c
+ * @brief testcase for functions to connect peers in testing.c
  */
 #include "platform.h"
 #include "gnunet_testing_lib.h"
@@ -38,6 +38,8 @@ static int ok;
 
 static int peers_left;
 
+static int failed_peers;
+
 static struct GNUNET_TESTING_PeerGroup *pg;
 
 static struct GNUNET_SCHEDULER_Handle *sched;
@@ -52,9 +54,11 @@ my_cb (void *cls,
   if (id == NULL)
     {
       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Start callback called with error (too long starting peers), aborting test!\n");
-      GNUNET_TESTING_daemons_stop (pg);
+      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Error from testing: `%s'\n");
+      failed_peers++;
       ok = 7;
     }
+
   peers_left--;
   if (peers_left == 0)
     {
@@ -63,6 +67,10 @@ my_cb (void *cls,
       GNUNET_TESTING_daemons_stop (pg);
       ok = 0;
     }
+  else if (failed_peers == peers_left)
+    {
+      GNUNET_TESTING_daemons_stop (pg);
+    }
 }