aboutsummaryrefslogtreecommitdiff
path: root/src/benchmark/taler-exchange-benchmark.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/benchmark/taler-exchange-benchmark.c')
-rw-r--r--src/benchmark/taler-exchange-benchmark.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/benchmark/taler-exchange-benchmark.c b/src/benchmark/taler-exchange-benchmark.c
index fa2e34ff0..5deb5f582 100644
--- a/src/benchmark/taler-exchange-benchmark.c
+++ b/src/benchmark/taler-exchange-benchmark.c
@@ -475,6 +475,7 @@ parallel_benchmark (TALER_TESTING_Main main_cb,
pid_t cpids[howmany_clients];
pid_t fakebank = -1;
int wstatus;
+ struct GNUNET_OS_Process *auditord = NULL;
struct GNUNET_OS_Process *exchanged = NULL;
struct GNUNET_OS_Process *wirewatch = NULL;
struct GNUNET_OS_Process *exchange_slave = NULL;
@@ -522,6 +523,30 @@ parallel_benchmark (TALER_TESTING_Main main_cb,
0);
return 77;
}
+ /* start auditor */
+ auditord = GNUNET_OS_start_process (GNUNET_NO,
+ GNUNET_OS_INHERIT_STD_ALL,
+ NULL, NULL, NULL,
+ "taler-auditor-httpd",
+ "taler-auditor-httpd",
+ "-c", config_file,
+ NULL);
+ if (NULL == auditord)
+ {
+ GNUNET_OS_process_kill (exchanged,
+ SIGTERM);
+ if (MODE_BOTH == mode)
+ {
+ GNUNET_assert (-1 != fakebank);
+ kill (fakebank,
+ SIGTERM);
+ waitpid (fakebank,
+ &wstatus,
+ 0);
+ }
+ GNUNET_OS_process_destroy (exchanged);
+ return 77;
+ }
/* start exchange wirewatch */
wirewatch = GNUNET_OS_start_process (GNUNET_NO,
GNUNET_OS_INHERIT_STD_ALL,
@@ -532,6 +557,8 @@ parallel_benchmark (TALER_TESTING_Main main_cb,
NULL);
if (NULL == wirewatch)
{
+ GNUNET_OS_process_kill (auditord,
+ SIGTERM);
GNUNET_OS_process_kill (exchanged,
SIGTERM);
if (MODE_BOTH == mode)
@@ -607,6 +634,13 @@ parallel_benchmark (TALER_TESTING_Main main_cb,
GNUNET_OS_process_wait (wirewatch);
GNUNET_OS_process_destroy (wirewatch);
}
+ if (NULL != auditord)
+ {
+ GNUNET_OS_process_kill (auditord,
+ SIGTERM);
+ GNUNET_OS_process_wait (auditord);
+ GNUNET_OS_process_destroy (auditord);
+ }
return 77;
}
if ( (MODE_CLIENT == mode) || (MODE_BOTH == mode) )
@@ -696,6 +730,7 @@ parallel_benchmark (TALER_TESTING_Main main_cb,
{
GNUNET_assert (NULL != wirewatch);
GNUNET_assert (NULL != exchanged);
+ GNUNET_assert (NULL != auditord);
/* stop wirewatch */
GNUNET_break (0 ==
GNUNET_OS_process_kill (wirewatch,
@@ -703,6 +738,13 @@ parallel_benchmark (TALER_TESTING_Main main_cb,
GNUNET_break (GNUNET_OK ==
GNUNET_OS_process_wait (wirewatch));
GNUNET_OS_process_destroy (wirewatch);
+ /* stop auditor */
+ GNUNET_break (0 ==
+ GNUNET_OS_process_kill (auditord,
+ SIGTERM));
+ GNUNET_break (GNUNET_OK ==
+ GNUNET_OS_process_wait (auditord));
+ GNUNET_OS_process_destroy (auditord);
/* stop exchange */
GNUNET_break (0 ==
GNUNET_OS_process_kill (exchanged,