diff options
-rw-r--r-- | doc/taler-exchange-wirewatch.1 | 3 | ||||
-rw-r--r-- | src/exchange/taler-exchange-wirewatch.c | 16 | ||||
-rw-r--r-- | src/exchange/test_taler_exchange_wirewatch.c | 1 |
3 files changed, 20 insertions, 0 deletions
diff --git a/doc/taler-exchange-wirewatch.1 b/doc/taler-exchange-wirewatch.1 index 72006e6d2..41a4afacd 100644 --- a/doc/taler-exchange-wirewatch.1 +++ b/doc/taler-exchange-wirewatch.1 @@ -19,6 +19,9 @@ Use the specified wire plugin and its configuration to talk to the bank. .IP "\-h, \-\-help" Print short help on options. .B +.IP "\-T, \-\-test" +Run in test mode and exit when idle. +.B .IP "\-v, \-\-version" Print version information. .B diff --git a/src/exchange/taler-exchange-wirewatch.c b/src/exchange/taler-exchange-wirewatch.c index a3009219b..0a7923a11 100644 --- a/src/exchange/taler-exchange-wirewatch.c +++ b/src/exchange/taler-exchange-wirewatch.c @@ -95,6 +95,11 @@ static char *type; static int delay; /** + * Are we run in testing mode and should only do one pass? + */ +static int test_mode; + +/** * Next task to run, if any. */ static struct GNUNET_SCHEDULER_Task *task; @@ -234,6 +239,12 @@ history_cb (void *cls, start_off = last_row_off; start_off_size = last_row_off_size; } + if ( (GNUNET_YES == delay) && + (test_mode) ) + { + GNUNET_SCHEDULER_shutdown (); + return GNUNET_OK; + } if (GNUNET_YES == delay) task = GNUNET_SCHEDULER_add_delayed (DELAY, &find_transfers, @@ -289,6 +300,7 @@ find_transfers (void *cls) struct TALER_EXCHANGEDB_Session *session; int ret; + task = NULL; GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Checking for incoming wire transfers\n"); @@ -389,6 +401,10 @@ main (int argc, "PLUGINNAME", "which wire plugin to use", &type), + GNUNET_GETOPT_option_flag ('T', + "test", + "run in test mode and exit when idle", + &test_mode), GNUNET_GETOPT_OPTION_END }; diff --git a/src/exchange/test_taler_exchange_wirewatch.c b/src/exchange/test_taler_exchange_wirewatch.c index 2b13cf8dd..cf3cd49a0 100644 --- a/src/exchange/test_taler_exchange_wirewatch.c +++ b/src/exchange/test_taler_exchange_wirewatch.c @@ -486,6 +486,7 @@ interpreter (void *cls) "taler-exchange-wirewatch", "-c", config_filename, "-t", "test", + "-T", /* run in test mode, exit instead of looping */ NULL); if (NULL == cmd->details.wirewatch.wirewatch_proc) { |