gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r25707 - gnunet/src/gns


From: gnunet
Subject: [GNUnet-SVN] r25707 - gnunet/src/gns
Date: Mon, 7 Jan 2013 16:52:52 +0100

Author: wachs
Date: 2013-01-07 16:52:52 +0100 (Mon, 07 Jan 2013)
New Revision: 25707

Modified:
   gnunet/src/gns/test_gns_dht_three_peers.c
Log:
fixing test by debugging (but still fails)


Modified: gnunet/src/gns/test_gns_dht_three_peers.c
===================================================================
--- gnunet/src/gns/test_gns_dht_three_peers.c   2013-01-07 15:12:12 UTC (rev 
25706)
+++ gnunet/src/gns/test_gns_dht_three_peers.c   2013-01-07 15:52:52 UTC (rev 
25707)
@@ -49,6 +49,7 @@
 
 /* Timeout for entire testcase */
 #define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 60)
+#define SETUP_TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 
10)
 
 /* Global return value (0 for success, anything else for failure) */
 static int ok;
@@ -58,6 +59,8 @@
 
 static GNUNET_SCHEDULER_TaskIdentifier wait_task;
 
+static GNUNET_SCHEDULER_TaskIdentifier setup_task;
+
 static struct GNUNET_CRYPTO_ShortHashCode dave_hash;
 
 static struct GNUNET_CRYPTO_ShortHashCode bob_hash;
@@ -173,6 +176,37 @@
 }
 
 static void
+setup_end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+  setup_task = GNUNET_SCHEDULER_NO_TASK;
+  GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Timeout during setup, test failed\n");
+
+  if (NULL != connect_ops[0])
+  {
+    GNUNET_TESTBED_operation_done (connect_ops[0]);
+    connect_ops[0] = NULL;
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not connect peer 0 and 1\n");
+  }
+
+  if (NULL != connect_ops[1])
+  {
+    GNUNET_TESTBED_operation_done (connect_ops[1]);
+    connect_ops[1] = NULL;
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not connect peer 1 and 2\n");
+  }
+
+  if (NULL != connect_ops[2])
+  {
+    GNUNET_TESTBED_operation_done (connect_ops[2]);
+    connect_ops[2] = NULL;
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not connect peer 0 and 2\n");
+  }
+
+  GNUNET_SCHEDULER_shutdown ();
+  ok = GNUNET_SYSERR;
+}
+
+static void
 end_now ()
 {
   GNUNET_SCHEDULER_add_now (&end, NULL);
@@ -261,6 +295,11 @@
 all_connected ()
 {
   GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Created all connections! Waiting for 
PUTs\n");
+  if (GNUNET_SCHEDULER_NO_TASK != setup_task)
+  {
+      GNUNET_SCHEDULER_cancel (setup_task);
+      setup_task = GNUNET_SCHEDULER_NO_TASK;
+  }
   wait_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, 
&commence_testing, NULL);
 }
 
@@ -573,6 +612,8 @@
   GNUNET_assert (NULL != peers);
   cpeers = peers;
 
+  setup_task = GNUNET_SCHEDULER_add_delayed (SETUP_TIMEOUT, &setup_end_badly, 
NULL);
+
   /* peer 0: dave */
   GNUNET_assert (NULL != peers[0]);
   get_cfg_ops[0] = GNUNET_TESTBED_peer_get_information (peers[0],
@@ -606,15 +647,32 @@
       break;
     case GNUNET_TESTBED_ET_CONNECT:
       connections ++;
+      if ((event->details.peer_connect.peer1 == cpeers[0]) &&
+          (event->details.peer_connect.peer2 == cpeers[1]))
+      {
+        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer 0 and 1 are connected\n");
+        GNUNET_TESTBED_operation_done (connect_ops[0]);
+        connect_ops[0] = NULL;
+      }
+
+      if ((event->details.peer_connect.peer1 == cpeers[1]) &&
+          (event->details.peer_connect.peer2 == cpeers[2]))
+      {
+        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer 1 and 2 are connected\n");
+        GNUNET_TESTBED_operation_done (connect_ops[1]);
+        connect_ops[1] = NULL;
+      }
+
+      if ((event->details.peer_connect.peer1 == cpeers[0]) &&
+          (event->details.peer_connect.peer2 == cpeers[2]))
+      {
+        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer 0 and 2 are connected\n");
+        GNUNET_TESTBED_operation_done (connect_ops[2]);
+        connect_ops[2] = NULL;
+      }
       if (connections == 3)
       {
           GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "All peers connected\n");
-          GNUNET_TESTBED_operation_done (connect_ops[0]);
-          connect_ops[0] = NULL;
-          GNUNET_TESTBED_operation_done (connect_ops[1]);
-          connect_ops[1] = NULL;
-          GNUNET_TESTBED_operation_done (connect_ops[2]);
-          connect_ops[2] = NULL;
           all_connected ();
       }
       break;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]