make it easy to start service by hand
[oweals/gnunet.git] / src / statistics / test_statistics_api.c
index b9f81d652f76603a3164c05c5165fb3e7a428e82..42704c801991a359674f377e10e276e39f795c2b 100644 (file)
 
 #define VERBOSE GNUNET_NO
 
+#define START_SERVICE GNUNET_YES
+
 static int
 check_1 (void *cls,
          const char *subsystem,
-         const char *name, unsigned long long value, int is_persistent)
+         const char *name, uint64_t value, int is_persistent)
 {
   GNUNET_assert (0 == strcmp (name, "test-1"));
   GNUNET_assert (0 == strcmp (subsystem, "test-statistics-api"));
@@ -46,7 +48,7 @@ check_1 (void *cls,
 static int
 check_2 (void *cls,
          const char *subsystem,
-         const char *name, unsigned long long value, int is_persistent)
+         const char *name, uint64_t value, int is_persistent)
 {
   GNUNET_assert (0 == strcmp (name, "test-2"));
   GNUNET_assert (0 == strcmp (subsystem, "test-statistics-api"));
@@ -58,7 +60,7 @@ check_2 (void *cls,
 static int
 check_3 (void *cls,
          const char *subsystem,
-         const char *name, unsigned long long value, int is_persistent)
+         const char *name, uint64_t value, int is_persistent)
 {
   GNUNET_assert (0 == strcmp (name, "test-3"));
   GNUNET_assert (0 == strcmp (subsystem, "test-statistics-api"));
@@ -74,7 +76,7 @@ next_fin (void *cls, int success)
 {
   int *ok = cls;
 
-  GNUNET_STATISTICS_destroy (h);
+  GNUNET_STATISTICS_destroy (h, GNUNET_NO);
   GNUNET_assert (success == GNUNET_OK);
   *ok = 0;
 }
@@ -83,42 +85,45 @@ static void
 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_break (NULL !=
+               GNUNET_STATISTICS_get (h, NULL, "test-2",
+                                      GNUNET_TIME_UNIT_SECONDS, &next_fin, &check_2, cls));
 }
 
 static void
 run (void *cls,
      struct GNUNET_SCHEDULER_Handle *sched,
      char *const *args,
-     const char *cfgfile, struct GNUNET_CONFIGURATION_Handle *cfg)
+     const char *cfgfile,
+     const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-
   h = GNUNET_STATISTICS_create (sched, "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_get (h, NULL, "test-1",
-                         GNUNET_TIME_UNIT_SECONDS, &next, &check_1, cls);
+  GNUNET_break (NULL != 
+               GNUNET_STATISTICS_get (h, NULL, "test-1",
+                                      GNUNET_TIME_UNIT_SECONDS, &next, &check_1, cls));
 }
 
 static void
 run_more (void *cls,
           struct GNUNET_SCHEDULER_Handle *sched,
           char *const *args,
-          const char *cfgfile, struct GNUNET_CONFIGURATION_Handle *cfg)
+          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);
+  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;
-  pid_t pid;
   char *const argv[] = { "test-statistics-api",
     "-c",
     "test_statistics_api_data.conf",
@@ -127,40 +132,47 @@ check ()
   struct GNUNET_GETOPT_CommandLineOption options[] = {
     GNUNET_GETOPT_OPTION_END
   };
-  pid = GNUNET_OS_start_process ("gnunet-service-statistics",
+#if START_SERVICE
+  pid_t pid;
+  pid = 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);
-  sleep (1);
+#endif
   GNUNET_PROGRAM_run (3, argv, "test-statistics-api", "nohelp",
                       options, &run, &ok);
+#if START_SERVICE
   if (0 != PLIBC_KILL (pid, SIGTERM))
     {
       GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
       ok = 1;
     }
   GNUNET_OS_process_wait(pid);
+#endif
   if (ok != 0)
     return ok;
   ok = 1;
+#if START_SERVICE
   /* restart to check persistence! */
-  pid = GNUNET_OS_start_process ("gnunet-service-statistics",
+  pid = 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);
-  sleep (1);
+#endif
   GNUNET_PROGRAM_run (3, argv, "test-statistics-api", "nohelp",
                       options, &run_more, &ok);
+#if START_SERVICE
   if (0 != PLIBC_KILL (pid, SIGTERM))
     {
       GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
       ok = 1;
     }
   GNUNET_OS_process_wait(pid);
+#endif
   return ok;
 }