Merge branch 'master' of ssh://gnunet.org/gnunet
[oweals/gnunet.git] / src / multicast / test_multicast.c
index 613a8c593b369520fcfe56786f9ebf94034f4140..7e9b51e2395947f6c8a2c9e2caa413e9d524ad0b 100644 (file)
@@ -31,7 +31,6 @@
 #include "gnunet_common.h"
 #include "gnunet_util_lib.h"
 #include "gnunet_testing_lib.h"
-#include "gnunet_core_service.h"
 #include "gnunet_multicast_service.h"
 
 #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 30)
@@ -48,7 +47,6 @@ static struct GNUNET_SCHEDULER_Task * end_badly_task;
 
 static const struct GNUNET_CONFIGURATION_Handle *cfg;
 
-struct GNUNET_CORE_Handle *core;
 struct GNUNET_PeerIdentity this_peer;
 
 struct GNUNET_MULTICAST_Origin *origin;
@@ -110,11 +108,6 @@ member_join (int t);
 static void
 cleanup ()
 {
-  if (NULL != core)
-  {
-    GNUNET_CORE_disconnecT (core);
-    core = NULL;
-  }
   if (NULL != member)
   {
     GNUNET_MULTICAST_member_part (member, NULL, NULL);
@@ -274,7 +267,7 @@ member_parted (void *cls)
   switch (test)
   {
   case TEST_MEMBER_JOIN_REFUSE:
-    // Test 3 starts here 
+    // Test 3 starts here
     member_join (TEST_MEMBER_JOIN_ADMIT);
     break;
 
@@ -305,7 +298,7 @@ member_part ()
   test = TEST_MEMBER_PART;
   GNUNET_log (GNUNET_ERROR_TYPE_INFO,
               "Test #%u: member_part()\n", test);
-  // Test 10 starts here 
+  // Test 10 starts here
   GNUNET_SCHEDULER_add_now (&schedule_member_part, NULL);
 }
 
@@ -313,7 +306,7 @@ member_part ()
 static void
 member_replay_ok ()
 {
-  // Execution of test 8 here 
+  // Execution of test 8 here
   test = TEST_MEMBER_REPLAY_OK;
   GNUNET_log (GNUNET_ERROR_TYPE_INFO,
               "Test #%u: member_replay_ok()\n", test);
@@ -380,7 +373,7 @@ origin_recv_replay_frag (void *cls,
   switch (test)
   {
   case TEST_MEMBER_REPLAY_ERROR:
-    // Test 8 starts here 
+    // Test 8 starts here
     GNUNET_MULTICAST_replay_response (rh, NULL, GNUNET_SYSERR);
     member_replay_ok ();
     break;
@@ -440,11 +433,11 @@ origin_recv_request (void *cls,
                               &member_pub_key, sizeof (member_pub_key)));
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              "Test #%u: verify message content, take first 3 bytes: %.3s\n", 
-              test, &req[1]);
+              "Test #%u: verify message content, take first 3 bytes: %.3s\n",
+              test, (char *)&req[1]);
   GNUNET_assert (0 == memcmp (&req[1], "abc", 3));
 
-  // Test 7 starts here 
+  // Test 7 starts here
   member_replay_error ();
 }
 
@@ -491,13 +484,17 @@ member_recv_message (void *cls,
 
   switch (test)
   {
+  case TEST_ORIGIN_TO_ALL:
+    test = TEST_ORIGIN_TO_ALL_RECV;
+    break;
+
   case TEST_ORIGIN_TO_ALL_RECV:
     // Test 6 starts here
     member_to_origin ();
     break;
 
   case TEST_MEMBER_REPLAY_OK:
-    // Test 9 starts here 
+    // Test 9 starts here
     GNUNET_assert (replay_fragment_id == GNUNET_ntohll (msg->fragment_id));
     member_part ();
     break;
@@ -530,6 +527,11 @@ origin_recv_message (void *cls,
     test = TEST_ORIGIN_TO_ALL_RECV;
     break;
 
+  case TEST_ORIGIN_TO_ALL_RECV:
+    // Test 6 starts here
+    member_to_origin ();
+    break;
+
   default:
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
                 "Invalid test #%d in origin_recv_message()\n", test);
@@ -585,14 +587,14 @@ member_recv_join_decision (void *cls,
   {
   case TEST_MEMBER_JOIN_REFUSE:
     GNUNET_assert (0 == relay_count);
-    // Test 3 starts here 
+    // Test 3 starts here
     GNUNET_SCHEDULER_add_now (&schedule_member_part, NULL);
     break;
 
   case TEST_MEMBER_JOIN_ADMIT:
     GNUNET_assert (1 == relay_count);
     GNUNET_assert (0 == memcmp (relays, &this_peer, sizeof (this_peer)));
-    // Test 4 starts here 
+    // Test 4 starts here
     origin_to_all ();
     break;
 
@@ -630,7 +632,7 @@ origin_recv_join_request (void *cls,
   switch (test)
   {
   case TEST_MEMBER_JOIN_REFUSE:
-    // Test 3 starts here 
+    // Test 3 starts here
     GNUNET_MULTICAST_join_decision (jh, GNUNET_NO, 0, NULL, join_resp);
     break;
 
@@ -680,7 +682,7 @@ member_join (int t)
                                          &member_cls);
 }
 
-/** 
+/**
  * Test: Start a multicast group as origin
  */
 static void
@@ -705,16 +707,6 @@ origin_start ()
 }
 
 
-static void
-core_connected (void *cls, const struct GNUNET_PeerIdentity *my_identity)
-{
-  this_peer = *my_identity;
-  
-  // Test 1 starts here
-  origin_start ();
-}
-
-
 /**
  * Main function of the test, run from scheduler.
  *
@@ -737,8 +729,10 @@ run (void *cls,
   cfg = c;
   end_badly_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT,
                                                 &end_badly, NULL);
-  core = GNUNET_CORE_connecT (cfg, NULL,
-                             &core_connected, NULL, NULL, NULL);
+  GNUNET_CRYPTO_get_peer_identity (cfg, &this_peer);
+
+  // Test 1 starts here
+  origin_start ();
 }