-remove find() forking, we pretty much should not need this anymore, and it confused...
[oweals/gnunet.git] / src / util / test_server.c
index 78e2d52bfbbe76af5c4c567ed3dd9297fa3457ef..c39744f8ae1d429b8db2bddc52a63408d97d9269 100644 (file)
  * @brief tests for server.c
  */
 #include "platform.h"
-#include "gnunet_common.h"
-#include "gnunet_client_lib.h"
-#include "gnunet_scheduler_lib.h"
-#include "gnunet_server_lib.h"
-#include "gnunet_time_lib.h"
-
-#define VERBOSE GNUNET_NO
+#include "gnunet_util_lib.h"
 
 #define PORT 12435
 
-#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 250)
+#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 2)
 
 #define MY_TYPE 128
 #define MY_TYPE2 129
@@ -45,40 +39,33 @@ static struct GNUNET_SERVER_Client *argclient;
 
 static struct GNUNET_CONFIGURATION_Handle *cfg;
 
-static struct GNUNET_SCHEDULER_Handle *sched;
-
 static int ok;
 
 
 static void
-finish_up (void *cls,
-          const struct GNUNET_SCHEDULER_TaskContext *tc)
+finish_up (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   GNUNET_assert (ok == 6);
   ok = 0;
   GNUNET_SERVER_destroy (server);
-  GNUNET_CLIENT_disconnect (cc, GNUNET_NO);
+  GNUNET_CLIENT_disconnect (cc);
   GNUNET_CONFIGURATION_destroy (cfg);
 }
 
 
 static void
-recv_fin_cb (void *cls,
-             struct GNUNET_SERVER_Client *client,
+recv_fin_cb (void *cls, struct GNUNET_SERVER_Client *client,
              const struct GNUNET_MessageHeader *message)
 {
   GNUNET_assert (ok == 5);
   ok = 6;
   GNUNET_SERVER_receive_done (client, GNUNET_OK);
-  GNUNET_SCHEDULER_add_now (sched,
-                           &finish_up,
-                           NULL);
+  GNUNET_SCHEDULER_add_now (&finish_up, NULL);
 }
 
 
 static void
-first_reply_handler (void *cls,
-                    const struct GNUNET_MessageHeader *msg)
+first_reply_handler (void *cls, const struct GNUNET_MessageHeader *msg)
 {
   GNUNET_assert (ok == 4);
   ok = 5;
@@ -104,22 +91,20 @@ reply_msg (void *cls, size_t size, void *buf)
 
 
 static void
-recv_cb (void *cls,
-         struct GNUNET_SERVER_Client *client,
+recv_cb (void *cls, struct GNUNET_SERVER_Client *client,
          const struct GNUNET_MessageHeader *message)
 {
   GNUNET_assert (ok == 2);
   ok = 3;
   argclient = client;
   GNUNET_SERVER_client_keep (argclient);
-  GNUNET_assert (sizeof (struct GNUNET_MessageHeader) ==
-                 ntohs (message->size));
+  GNUNET_assert (sizeof (struct GNUNET_MessageHeader) == ntohs (message->size));
   GNUNET_assert (MY_TYPE == ntohs (message->type));
   GNUNET_assert (NULL !=
                  GNUNET_SERVER_notify_transmit_ready (client,
                                                       ntohs (message->size),
-                                                      TIMEOUT,
-                                                      &reply_msg, NULL));
+                                                      TIMEOUT, &reply_msg,
+                                                      NULL));
 }
 
 
@@ -131,9 +116,7 @@ static struct GNUNET_SERVER_MessageHandler handlers[] = {
 
 
 static size_t
-transmit_second_message (void *cls,
-                        size_t size,
-                        void *buf)
+transmit_second_message (void *cls, size_t size, void *buf)
 {
   struct GNUNET_MessageHeader msg;
 
@@ -146,10 +129,8 @@ transmit_second_message (void *cls,
 
 
 static size_t
-transmit_initial_message (void *cls,
-                         size_t size,
-                         void *buf)
-{  
+transmit_initial_message (void *cls, size_t size, void *buf)
+{
   struct GNUNET_MessageHeader msg;
 
   GNUNET_assert (ok == 1);
@@ -159,12 +140,12 @@ transmit_initial_message (void *cls,
   msg.size = htons (sizeof (struct GNUNET_MessageHeader));
   memcpy (buf, &msg, sizeof (struct GNUNET_MessageHeader));
   GNUNET_assert (NULL !=
-                GNUNET_CLIENT_notify_transmit_ready (cc,
-                                                     sizeof (struct GNUNET_MessageHeader),
-                                                     TIMEOUT,
-                                                     GNUNET_YES,
-                                                     &transmit_second_message,
-                                                     NULL));
+                 GNUNET_CLIENT_notify_transmit_ready (cc,
+                                                      sizeof (struct
+                                                              GNUNET_MessageHeader),
+                                                      TIMEOUT, GNUNET_YES,
+                                                      &transmit_second_message,
+                                                      NULL));
   GNUNET_CLIENT_receive (cc, &first_reply_handler, NULL, TIMEOUT);
   return sizeof (struct GNUNET_MessageHeader);
 }
@@ -174,69 +155,47 @@ static void
 task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   struct sockaddr_in sa;
-  struct sockaddr * sap[2];
+  struct sockaddr *sap[2];
   socklen_t slens[2];
 
-  sap[0] = (struct sockaddr*) &sa;
+  sap[0] = (struct sockaddr *) &sa;
   slens[0] = sizeof (sa);
   sap[1] = NULL;
   slens[1] = 0;
-  sched = tc->sched;
   memset (&sa, 0, sizeof (sa));
 #if HAVE_SOCKADDR_IN_SIN_LEN
   sa.sin_len = sizeof (sa);
 #endif
   sa.sin_family = AF_INET;
   sa.sin_port = htons (PORT);
-  server = GNUNET_SERVER_create (tc->sched,
-                                 NULL,
-                                 NULL,
-                                 sap,
-                                slens,
-                                 TIMEOUT,
-                                 GNUNET_NO);
+  server = GNUNET_SERVER_create (NULL, NULL, sap, slens, TIMEOUT, GNUNET_NO);
   GNUNET_assert (server != NULL);
   GNUNET_SERVER_add_handlers (server, handlers);
   cfg = GNUNET_CONFIGURATION_create ();
   GNUNET_CONFIGURATION_set_value_number (cfg, "test-server", "PORT", PORT);
-  GNUNET_CONFIGURATION_set_value_string (cfg, "test-server", "HOSTNAME", "localhost");
-  GNUNET_CONFIGURATION_set_value_string (cfg, "resolver", "HOSTNAME", "localhost");
-  cc = GNUNET_CLIENT_connect (tc->sched,
-                             "test-server",
-                             cfg);
+  GNUNET_CONFIGURATION_set_value_string (cfg, "test-server", "HOSTNAME",
+                                         "localhost");
+  GNUNET_CONFIGURATION_set_value_string (cfg, "resolver", "HOSTNAME",
+                                         "localhost");
+  cc = GNUNET_CLIENT_connect ("test-server", cfg);
   GNUNET_assert (cc != NULL);
   GNUNET_assert (NULL !=
-                GNUNET_CLIENT_notify_transmit_ready (cc,
-                                                     sizeof (struct GNUNET_MessageHeader),
-                                                     TIMEOUT,
-                                                     GNUNET_YES,
-                                                     &transmit_initial_message,
-                                                     NULL));
-}
-
-
-/**
- * Main method, starts scheduler with task1,
- * checks that "ok" is correct at the end.
- */
-static int
-check ()
-{
-  ok = 1;
-  GNUNET_SCHEDULER_run (&task, &ok);
-  return ok;
+                 GNUNET_CLIENT_notify_transmit_ready (cc,
+                                                      sizeof (struct
+                                                              GNUNET_MessageHeader),
+                                                      TIMEOUT, GNUNET_YES,
+                                                      &transmit_initial_message,
+                                                      NULL));
 }
 
 
 int
 main (int argc, char *argv[])
 {
-  int ret = 0;
-
   GNUNET_log_setup ("test_server", "WARNING", NULL);
-  ret += check ();
-
-  return ret;
+  ok = 1;
+  GNUNET_SCHEDULER_run (&task, &ok);
+  return ok;
 }
 
 /* end of test_server.c */