not needed
[oweals/gnunet.git] / src / statistics / test_statistics_api.c
index 8a4a5e9112e967a92a1a0b4cc9e6288273d1cc3e..fff2b78b74a4193627083e4538ea6aebc3ed8ab5 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
 
      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
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
 #include "gnunet_scheduler_lib.h"
 #include "gnunet_statistics_service.h"
 
 #include "gnunet_scheduler_lib.h"
 #include "gnunet_statistics_service.h"
 
-#define VERBOSE GNUNET_NO
+#define DEBUG_STATISTICS GNUNET_NO
+
+#define START_SERVICE GNUNET_YES
 
 static int
 check_1 (void *cls,
          const char *subsystem,
          const char *name, uint64_t value, int is_persistent)
 {
 
 static int
 check_1 (void *cls,
          const char *subsystem,
          const char *name, uint64_t value, int is_persistent)
 {
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+             "Received value %llu for `%s:%s\n",
+             (unsigned long long) value,
+             subsystem,
+             name);
   GNUNET_assert (0 == strcmp (name, "test-1"));
   GNUNET_assert (0 == strcmp (subsystem, "test-statistics-api"));
   GNUNET_assert (value == 1);
   GNUNET_assert (0 == strcmp (name, "test-1"));
   GNUNET_assert (0 == strcmp (subsystem, "test-statistics-api"));
   GNUNET_assert (value == 1);
@@ -48,6 +55,11 @@ check_2 (void *cls,
          const char *subsystem,
          const char *name, uint64_t value, int is_persistent)
 {
          const char *subsystem,
          const char *name, uint64_t value, int is_persistent)
 {
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+             "Received value %llu for `%s:%s\n",
+             (unsigned long long) value,
+             subsystem,
+             name);
   GNUNET_assert (0 == strcmp (name, "test-2"));
   GNUNET_assert (0 == strcmp (subsystem, "test-statistics-api"));
   GNUNET_assert (value == 2);
   GNUNET_assert (0 == strcmp (name, "test-2"));
   GNUNET_assert (0 == strcmp (subsystem, "test-statistics-api"));
   GNUNET_assert (value == 2);
@@ -60,6 +72,11 @@ check_3 (void *cls,
          const char *subsystem,
          const char *name, uint64_t value, int is_persistent)
 {
          const char *subsystem,
          const char *name, uint64_t value, int is_persistent)
 {
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+             "Received value %llu for `%s:%s\n",
+             (unsigned long long) value,
+             subsystem,
+             name);
   GNUNET_assert (0 == strcmp (name, "test-3"));
   GNUNET_assert (0 == strcmp (subsystem, "test-statistics-api"));
   GNUNET_assert (value == 3);
   GNUNET_assert (0 == strcmp (name, "test-3"));
   GNUNET_assert (0 == strcmp (subsystem, "test-statistics-api"));
   GNUNET_assert (value == 3);
@@ -83,84 +100,106 @@ static void
 next (void *cls, int success)
 {
   GNUNET_assert (success == GNUNET_OK);
 next (void *cls, int success)
 {
   GNUNET_assert (success == GNUNET_OK);
-  GNUNET_STATISTICS_get (h, NULL, "test-2",
-                         GNUNET_TIME_UNIT_SECONDS, &next_fin, &check_2, cls);
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+             "Issuing GET request\n");       
+  GNUNET_break (NULL !=
+               GNUNET_STATISTICS_get (h, NULL, "test-2",
+                                      GNUNET_TIME_UNIT_SECONDS, &next_fin, &check_2, cls));
 }
 
 static void
 run (void *cls,
 }
 
 static void
 run (void *cls,
-     struct GNUNET_SCHEDULER_Handle *sched,
      char *const *args,
      const char *cfgfile,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
      char *const *args,
      const char *cfgfile,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-
-  h = GNUNET_STATISTICS_create (sched, "test-statistics-api", cfg);
+  h = GNUNET_STATISTICS_create ("test-statistics-api", cfg);
   GNUNET_STATISTICS_set (h, "test-1", 1, GNUNET_NO);
   GNUNET_STATISTICS_set (h, "test-2", 2, GNUNET_NO);
   GNUNET_STATISTICS_set (h, "test-3", 2, GNUNET_NO);
   GNUNET_STATISTICS_update (h, "test-3", 1, GNUNET_YES);
   GNUNET_STATISTICS_set (h, "test-1", 1, GNUNET_NO);
   GNUNET_STATISTICS_set (h, "test-2", 2, GNUNET_NO);
   GNUNET_STATISTICS_set (h, "test-3", 2, GNUNET_NO);
   GNUNET_STATISTICS_update (h, "test-3", 1, GNUNET_YES);
-  GNUNET_STATISTICS_get (h, NULL, "test-1",
-                         GNUNET_TIME_UNIT_SECONDS, &next, &check_1, cls);
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+             "Issuing GET request\n");       
+  GNUNET_break (NULL != 
+               GNUNET_STATISTICS_get (h, NULL, "test-1",
+                                      GNUNET_TIME_UNIT_SECONDS, &next, &check_1, cls));
 }
 
 static void
 run_more (void *cls,
 }
 
 static void
 run_more (void *cls,
-          struct GNUNET_SCHEDULER_Handle *sched,
           char *const *args,
           const char *cfgfile,
          const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
           char *const *args,
           const char *cfgfile,
          const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  h = GNUNET_STATISTICS_create (sched, "test-statistics-api", cfg);
-  GNUNET_STATISTICS_get (h, NULL, "test-3",
-                         GNUNET_TIME_UNIT_SECONDS, &next_fin, &check_3, cls);
+  h = GNUNET_STATISTICS_create ("test-statistics-api", cfg);
+  GNUNET_break (NULL !=
+               GNUNET_STATISTICS_get (h, NULL, "test-3",
+                                      GNUNET_TIME_UNIT_SECONDS, &next_fin, &check_3, cls));
 }
 
 static int
 check ()
 {
   int ok = 1;
 }
 
 static int
 check ()
 {
   int ok = 1;
-  pid_t pid;
   char *const argv[] = { "test-statistics-api",
     "-c",
     "test_statistics_api_data.conf",
   char *const argv[] = { "test-statistics-api",
     "-c",
     "test_statistics_api_data.conf",
+#if DEBUG_STATISTICS
+                        "-L", "DEBUG",
+#else
+                        "-L", "WARNING",
+#endif
     NULL
   };
   struct GNUNET_GETOPT_CommandLineOption options[] = {
     GNUNET_GETOPT_OPTION_END
   };
     NULL
   };
   struct GNUNET_GETOPT_CommandLineOption options[] = {
     GNUNET_GETOPT_OPTION_END
   };
-  pid = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-statistics",
+#if START_SERVICE
+  struct GNUNET_OS_Process *proc;
+  proc = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-statistics",
                                  "gnunet-service-statistics",
 #if DEBUG_STATISTICS
                                  "-L", "DEBUG",
 #endif
                                  "-c", "test_statistics_api_data.conf", NULL);
                                  "gnunet-service-statistics",
 #if DEBUG_STATISTICS
                                  "-L", "DEBUG",
 #endif
                                  "-c", "test_statistics_api_data.conf", NULL);
-  GNUNET_PROGRAM_run (3, argv, "test-statistics-api", "nohelp",
+#endif
+  GNUNET_assert (NULL != proc);
+  GNUNET_PROGRAM_run (5, argv, "test-statistics-api", "nohelp",
                       options, &run, &ok);
                       options, &run, &ok);
-  if (0 != PLIBC_KILL (pid, SIGTERM))
+#if START_SERVICE
+  if (0 != GNUNET_OS_process_kill (proc, SIGTERM))
     {
       GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
       ok = 1;
     }
     {
       GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
       ok = 1;
     }
-  GNUNET_OS_process_wait(pid);
+  GNUNET_OS_process_wait (proc);
+  GNUNET_OS_process_close (proc);
+  proc = NULL;
+#endif
   if (ok != 0)
     return ok;
   ok = 1;
   if (ok != 0)
     return ok;
   ok = 1;
+#if START_SERVICE
   /* restart to check persistence! */
   /* restart to check persistence! */
-  pid = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-statistics",
+  proc = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-statistics",
                                  "gnunet-service-statistics",
 #if DEBUG_STATISTICS
                                  "-L", "DEBUG",
 #endif
                                  "-c", "test_statistics_api_data.conf", NULL);
                                  "gnunet-service-statistics",
 #if DEBUG_STATISTICS
                                  "-L", "DEBUG",
 #endif
                                  "-c", "test_statistics_api_data.conf", NULL);
-  GNUNET_PROGRAM_run (3, argv, "test-statistics-api", "nohelp",
+#endif
+  GNUNET_PROGRAM_run (5, argv, "test-statistics-api", "nohelp",
                       options, &run_more, &ok);
                       options, &run_more, &ok);
-  if (0 != PLIBC_KILL (pid, SIGTERM))
+#if START_SERVICE
+  if (0 != GNUNET_OS_process_kill (proc, SIGTERM))
     {
       GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
       ok = 1;
     }
     {
       GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
       ok = 1;
     }
-  GNUNET_OS_process_wait(pid);
+  GNUNET_OS_process_wait (proc);
+  GNUNET_OS_process_close (proc);
+  proc = NULL;
+#endif
   return ok;
 }
 
   return ok;
 }
 
@@ -169,6 +208,13 @@ main (int argc, char *argv[])
 {
   int ret;
 
 {
   int ret;
 
+  GNUNET_log_setup ("test_statistics_api", 
+#if DEBUG_STATISTICS
+                   "DEBUG",
+#else
+                   "WARNING",
+#endif
+                   NULL);
   ret = check ();
 
   return ret;
   ret = check ();
 
   return ret;