- pid = GNUNET_OS_start_process ("gnunet-service-statistics",
- "gnunet-service-statistics",
-#if DEBUG_STATISTICS
- "-L", "DEBUG",
-#endif
- "-c", "test_statistics_api_data.conf", NULL);
- sleep (1);
- GNUNET_PROGRAM_run (3, argv, "test-statistics-api", "nohelp",
- options, &run, &ok);
- if (0 != PLIBC_KILL (pid, SIGTERM))
- {
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
- ok = 1;
- }
- waitpid (pid, NULL, 0);
+ struct GNUNET_OS_Process *proc;
+ char *binary;
+
+ GNUNET_log_setup ("test_statistics_api",
+ "WARNING",
+ NULL);
+ binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics");
+ proc =
+ GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL,
+ binary,
+ "gnunet-service-statistics",
+ "-c", "test_statistics_api_data.conf", NULL);
+ GNUNET_assert (NULL != proc);
+ GNUNET_PROGRAM_run (5, argv, "test-statistics-api", "nohelp", options, &run,
+ &ok);
+ if (0 != GNUNET_OS_process_kill (proc, GNUNET_TERM_SIG))
+ {
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
+ ok = 1;
+ }
+ GNUNET_OS_process_wait (proc);
+ GNUNET_OS_process_destroy (proc);
+ proc = NULL;