wip
[oweals/gnunet.git] / src / arm / test_gnunet_service_manager.c
index ac2544e58dedb64e3d2bab2b4031fd04b5aaf9a5..e4aecb8c47674806a108d2c5bab3749c5c5386ce 100644 (file)
@@ -4,7 +4,7 @@
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
+     by the Free Software Foundation; either version 3, or (at your
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
@@ -25,6 +25,7 @@
 #include "platform.h"
 #include "gnunet_arm_service.h"
 #include "gnunet_resolver_service.h"
+#include "gnunet_os_lib.h"
 #include "gnunet_program_lib.h"
 
 /**
@@ -42,7 +43,6 @@
 
 static int ret = 1;
 
-static struct GNUNET_SCHEDULER_Handle *sched;
 
 static const struct GNUNET_CONFIGURATION_Handle *cfg;
 
@@ -107,8 +107,7 @@ arm_notify (void *cls, int success)
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 
              "Trying to resolve our own hostname!\n");
   /* connect to the resolver service */
-  if (NULL == GNUNET_RESOLVER_hostname_resolve (sched,
-                                               cfg, AF_UNSPEC,
+  if (NULL == GNUNET_RESOLVER_hostname_resolve (cfg, AF_UNSPEC,
                                                TIMEOUT,
                                                &hostNameResolveCB,
                                                NULL))
@@ -124,16 +123,14 @@ arm_notify (void *cls, int success)
 
 
 static void
-run(void *cls, 
-    struct GNUNET_SCHEDULER_Handle *s, 
+run(void *cls,
     char * const *args,
     const char *cfgfile, 
     const struct GNUNET_CONFIGURATION_Handle *c)
 {
   cfg = c;
-  sched = s;   
 #if START_ARM
-  arm = GNUNET_ARM_connect (cfg, sched, NULL);
+  arm = GNUNET_ARM_connect (cfg, NULL);
   GNUNET_ARM_start_service (arm, "arm", START_TIMEOUT, &arm_notify, NULL);
 #else
   arm_notify (NULL, GNUNET_YES);
@@ -166,6 +163,22 @@ check()
 int
 main (int argc, char *argv[])
 {
+  char hostname[GNUNET_OS_get_hostname_max_length() + 1];
+
+  if (0 != gethostname (hostname, sizeof (hostname) - 1))
+    {
+      GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR |
+                           GNUNET_ERROR_TYPE_BULK, "gethostname");
+      fprintf (stderr, "Failed to determine my own hostname, testcase not run.\n");
+      return 0;
+    }
+  if (NULL == gethostbyname (hostname))
+    {
+      fprintf (stderr, "Failed to resolve my hostname `%s', testcase not run.\n",
+              hostname);
+      return 0;
+    }
+
   GNUNET_log_setup("test-gnunet-service-manager",
 #if VERBOSE
                   "DEBUG",