exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 15489275ba72905a6f0d84238480569390475c00
parent fd29d1866f2ec72b9e334da430e1b789f4677066
Author: Christian Grothoff <christian@grothoff.org>
Date:   Thu, 19 Mar 2020 17:56:23 +0100

make DB reset optional in API, use it in tests, but not in the benchmark

Diffstat:
Msrc/benchmark/taler-exchange-benchmark.c | 1+
Msrc/include/taler_testing_lib.h | 2++
Msrc/json/json.c | 1+
Msrc/testing/test_auditor_api.c | 1+
Msrc/testing/test_exchange_api.c | 1+
Msrc/testing/test_exchange_api_keys_cherry_picking.c | 1+
Msrc/testing/test_exchange_api_overlapping_keys_bug.c | 1+
Msrc/testing/test_exchange_api_revocation.c | 1+
Msrc/testing/test_taler_exchange_aggregator.c | 1+
Msrc/testing/test_taler_exchange_wirewatch.c | 1+
Msrc/testing/testing_api_helpers_exchange.c | 17+++++++++++------
11 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/src/benchmark/taler-exchange-benchmark.c b/src/benchmark/taler-exchange-benchmark.c @@ -952,6 +952,7 @@ main (int argc, GNUNET_assert (GNUNET_OK == TALER_TESTING_prepare_exchange (cfg_filename, + GNUNET_NO, &ec)); } else diff --git a/src/include/taler_testing_lib.h b/src/include/taler_testing_lib.h @@ -118,12 +118,14 @@ struct TALER_TESTING_DatabaseConnection * launch the exchange process itself. * * @param config_filename configuration file to use + * @param reset_db should we reset the database * @param[out] ec will be set to the exchange configuration data * @return #GNUNET_OK on success, #GNUNET_NO if test should be * skipped, #GNUNET_SYSERR on test failure */ int TALER_TESTING_prepare_exchange (const char *config_filename, + int reset_db, struct TALER_TESTING_ExchangeConfiguration *ec); diff --git a/src/json/json.c b/src/json/json.c @@ -73,6 +73,7 @@ TALER_JSON_get_error_code (const json_t *json) if (NULL == json) { + abort (); GNUNET_break_op (0); return TALER_EC_INVALID_RESPONSE; } diff --git a/src/testing/test_auditor_api.c b/src/testing/test_auditor_api.c @@ -683,6 +683,7 @@ main (int argc, * fetches the port number from config in order to see * if it's available. */ switch (TALER_TESTING_prepare_exchange (CONFIG_FILE, + GNUNET_YES, &ec)) { case GNUNET_SYSERR: diff --git a/src/testing/test_exchange_api.c b/src/testing/test_exchange_api.c @@ -809,6 +809,7 @@ main (int argc, * fetches the port number from config in order to see * if it's available. */ switch (TALER_TESTING_prepare_exchange (CONFIG_FILE, + GNUNET_YES, &ec)) { case GNUNET_SYSERR: diff --git a/src/testing/test_exchange_api_keys_cherry_picking.c b/src/testing/test_exchange_api_keys_cherry_picking.c @@ -237,6 +237,7 @@ main (int argc, * fetches the port number from config in order to see * if it's available. */ switch (TALER_TESTING_prepare_exchange (CONFIG_FILE, + GNUNET_YES, &ec)) { case GNUNET_SYSERR: diff --git a/src/testing/test_exchange_api_overlapping_keys_bug.c b/src/testing/test_exchange_api_overlapping_keys_bug.c @@ -101,6 +101,7 @@ main (int argc, * fetches the port number from config in order to see * if it's available. */ switch (TALER_TESTING_prepare_exchange (CONFIG_FILE, + GNUNET_YES, &ec)) { case GNUNET_SYSERR: diff --git a/src/testing/test_exchange_api_revocation.c b/src/testing/test_exchange_api_revocation.c @@ -212,6 +212,7 @@ main (int argc, * fetches the port number from config in order to see * if it's available. */ switch (TALER_TESTING_prepare_exchange (CONFIG_FILE, + GNUNET_YES, &ec)) { case GNUNET_SYSERR: diff --git a/src/testing/test_taler_exchange_aggregator.c b/src/testing/test_taler_exchange_aggregator.c @@ -528,6 +528,7 @@ main (int argc, TALER_TESTING_cleanup_files (config_filename); if (GNUNET_OK != TALER_TESTING_prepare_exchange (config_filename, + GNUNET_YES, &ec)) { TALER_LOG_WARNING ("Could not prepare the exchange.\n"); diff --git a/src/testing/test_taler_exchange_wirewatch.c b/src/testing/test_taler_exchange_wirewatch.c @@ -170,6 +170,7 @@ main (int argc, TALER_TESTING_cleanup_files (config_filename); if (GNUNET_OK != TALER_TESTING_prepare_exchange (config_filename, + GNUNET_YES, &ec)) { TALER_LOG_INFO ("Could not prepare the exchange\n"); diff --git a/src/testing/testing_api_helpers_exchange.c b/src/testing/testing_api_helpers_exchange.c @@ -490,12 +490,14 @@ fail: * launch the exchange process itself. * * @param config_filename configuration file to use + * @param reset_db should we reset the database? * @param[out] ec will be set to the exchange configuration data * @return #GNUNET_OK on success, #GNUNET_NO if test should be * skipped, #GNUNET_SYSERR on test failure */ int TALER_TESTING_prepare_exchange (const char *config_filename, + int reset_db, struct TALER_TESTING_ExchangeConfiguration *ec) { struct SignInfo si = { @@ -508,12 +510,15 @@ TALER_TESTING_prepare_exchange (const char *config_filename, TALER_TESTING_run_keyup (config_filename, si.auditor_sign_input_filename)) return GNUNET_NO; - if (GNUNET_OK != - TALER_TESTING_exchange_db_reset (config_filename)) - return GNUNET_NO; - if (GNUNET_OK != - TALER_TESTING_auditor_db_reset (config_filename)) - return GNUNET_NO; + if (GNUNET_YES == reset_db) + { + if (GNUNET_OK != + TALER_TESTING_exchange_db_reset (config_filename)) + return GNUNET_NO; + if (GNUNET_OK != + TALER_TESTING_auditor_db_reset (config_filename)) + return GNUNET_NO; + } if (GNUNET_OK != GNUNET_CONFIGURATION_parse_and_run (config_filename, &sign_keys_for_exchange,