summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-03-19 17:56:23 +0100
committerChristian Grothoff <christian@grothoff.org>2020-03-19 17:56:23 +0100
commit15489275ba72905a6f0d84238480569390475c00 (patch)
tree650da93c443fb1d22151a4f7be0bbaab25d704d2 /src
parentfd29d1866f2ec72b9e334da430e1b789f4677066 (diff)
downloadexchange-15489275ba72905a6f0d84238480569390475c00.tar.gz
exchange-15489275ba72905a6f0d84238480569390475c00.tar.bz2
exchange-15489275ba72905a6f0d84238480569390475c00.zip
make DB reset optional in API, use it in tests, but not in the benchmark
Diffstat (limited to 'src')
-rw-r--r--src/benchmark/taler-exchange-benchmark.c1
-rw-r--r--src/include/taler_testing_lib.h2
-rw-r--r--src/json/json.c1
-rw-r--r--src/testing/test_auditor_api.c1
-rw-r--r--src/testing/test_exchange_api.c1
-rw-r--r--src/testing/test_exchange_api_keys_cherry_picking.c1
-rw-r--r--src/testing/test_exchange_api_overlapping_keys_bug.c1
-rw-r--r--src/testing/test_exchange_api_revocation.c1
-rw-r--r--src/testing/test_taler_exchange_aggregator.c1
-rw-r--r--src/testing/test_taler_exchange_wirewatch.c1
-rw-r--r--src/testing/testing_api_helpers_exchange.c17
11 files changed, 22 insertions, 6 deletions
diff --git a/src/benchmark/taler-exchange-benchmark.c b/src/benchmark/taler-exchange-benchmark.c
index 5deb5f58..f5a1649b 100644
--- 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
index 62f0b95c..b9105797 100644
--- 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
index f0c0aff5..01a5bfe2 100644
--- 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
index af6f8203..eea676bd 100644
--- 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
index 3f7a1aed..0913688a 100644
--- 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
index 47a6472a..69d7e80c 100644
--- 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
index f63d5da7..cfe33d51 100644
--- 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
index 27a750d4..467b93e9 100644
--- 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
index fe96d635..7f03d8db 100644
--- 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
index 34d70190..6d7a144e 100644
--- 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
index 9f571684..bed6bc8d 100644
--- 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,