make it easy to start service by hand
[oweals/gnunet.git] / src / statistics / test_statistics_api.c
index f231bec6fc5c1654a12635f8cd4463063851cb24..42704c801991a359674f377e10e276e39f795c2b 100644 (file)
@@ -31,6 +31,8 @@
 
 #define VERBOSE GNUNET_NO
 
+#define START_SERVICE GNUNET_YES
+
 static int
 check_1 (void *cls,
          const char *subsystem,
@@ -83,8 +85,9 @@ 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
@@ -94,14 +97,14 @@ run (void *cls,
      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
@@ -112,15 +115,15 @@ run_more (void *cls,
          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",
@@ -129,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;
 }