aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-01-13 14:44:51 +0100
committerFlorian Dold <florian.dold@gmail.com>2017-01-13 14:44:51 +0100
commit0bfb5b25091a1cbdd9911ae124ae6da35cd2b916 (patch)
tree8a5dddf4b02916bf2d177002acb5514d88e4e64b /src
parentc631ae1b600add2ff229102d63870199043feb53 (diff)
Add option to initialized db, fixes 4858
Additionally remove the TESTRUN option, since the name is confusing and doesn't match the original semantics (temp tables). Test cases should now invoke the exchange httpd with the "-i" option.
Diffstat (limited to 'src')
-rw-r--r--src/exchange-lib/afl-generate.sh2
-rw-r--r--src/exchange-lib/test_exchange_api.c1
-rw-r--r--src/exchange-lib/test_exchange_api.conf3
-rw-r--r--src/exchange/exchange.conf3
-rw-r--r--src/exchange/taler-exchange-httpd.c15
-rw-r--r--src/exchange/test_taler_exchange_httpd.conf5
-rwxr-xr-xsrc/exchange/test_taler_exchange_httpd.sh2
7 files changed, 13 insertions, 18 deletions
diff --git a/src/exchange-lib/afl-generate.sh b/src/exchange-lib/afl-generate.sh
index 6ae83308..b0afcab3 100644
--- a/src/exchange-lib/afl-generate.sh
+++ b/src/exchange-lib/afl-generate.sh
@@ -31,4 +31,4 @@
#
# Must be run from this directory.
#
-$AFL_HOME/afl-fuzz -i baseline/ -m 250 -o afl-tests/ -f /tmp/afl-input taler-exchange-httpd -f /tmp/afl-input -d test-exchange-home/ -C
+$AFL_HOME/afl-fuzz -i baseline/ -m 250 -o afl-tests/ -f /tmp/afl-input taler-exchange-httpd -i -f /tmp/afl-input -d test-exchange-home/ -C
diff --git a/src/exchange-lib/test_exchange_api.c b/src/exchange-lib/test_exchange_api.c
index 7f6e86a4..289c8874 100644
--- a/src/exchange-lib/test_exchange_api.c
+++ b/src/exchange-lib/test_exchange_api.c
@@ -3139,6 +3139,7 @@ main (int argc,
"taler-exchange-httpd",
"taler-exchange-httpd",
"-c", "test_exchange_api.conf",
+ "-i",
NULL);
/* give child time to start and bind against the socket */
fprintf (stderr,
diff --git a/src/exchange-lib/test_exchange_api.conf b/src/exchange-lib/test_exchange_api.conf
index 03dd6f99..e815a0bb 100644
--- a/src/exchange-lib/test_exchange_api.conf
+++ b/src/exchange-lib/test_exchange_api.conf
@@ -24,9 +24,6 @@ MASTER_PUBLIC_KEY = 98NJW3CQHZQGQXTY3K85K531XKPAPAVV4Q5V8PYYRR00NJGZWNVG
# How to access our database
DB = postgres
-# Is this is a testcase, use transient DB actions?
-TESTRUN = YES
-
[exchangedb-postgres]
DB_CONN_STR = "postgres:///talercheck"
diff --git a/src/exchange/exchange.conf b/src/exchange/exchange.conf
index 333e9a58..39151ea6 100644
--- a/src/exchange/exchange.conf
+++ b/src/exchange/exchange.conf
@@ -17,9 +17,6 @@ KEYDIR = ${TALER_DATA_HOME}/exchange/live-keys/
# How to access our database
DB = postgres
-# Is this is a testcase, use transient DB actions?
-# TESTRUN = YES
-
# Where do we store the offline master private key of the exchange?
MASTER_PRIV_FILE = ${TALER_DATA_HOME}/exchange/offline-keys/master.priv
diff --git a/src/exchange/taler-exchange-httpd.c b/src/exchange/taler-exchange-httpd.c
index d6dfb035..f1661b00 100644
--- a/src/exchange/taler-exchange-httpd.c
+++ b/src/exchange/taler-exchange-httpd.c
@@ -101,6 +101,11 @@ static struct MHD_Daemon *mhd_admin;
static int no_admin;
/**
+ * Initialize the database by creating tables and indices.
+ */
+static int init_db;
+
+/**
* Port to run the daemon on.
*/
static uint16_t serve_port;
@@ -656,13 +661,10 @@ exchange_serve_process_config ()
TEH_VALIDATION_done ();
return GNUNET_SYSERR;
}
- if (GNUNET_YES ==
- GNUNET_CONFIGURATION_get_value_yesno (cfg,
- "exchange",
- "TESTRUN"))
+ if (0 != init_db)
{
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "Running in TEST mode! Database contents will not persist!\n");
+ "Ensuring that tables and indices are created!\n");
TEH_plugin->create_tables (TEH_plugin->cls);
}
@@ -938,6 +940,9 @@ main (int argc,
{'D', "disable-admin", NULL,
"do not run the /admin-HTTP server", 0,
&GNUNET_GETOPT_set_one, &no_admin},
+ {'i', "init-db", NULL,
+ "create database tables and indicies if necessary", 0,
+ &GNUNET_GETOPT_set_one, &init_db},
{'t', "timeout", "SECONDS",
"after how long do connections timeout by default (in seconds)", 1,
&GNUNET_GETOPT_set_uint, &connection_timeout},
diff --git a/src/exchange/test_taler_exchange_httpd.conf b/src/exchange/test_taler_exchange_httpd.conf
index 19f448f3..e1c30615 100644
--- a/src/exchange/test_taler_exchange_httpd.conf
+++ b/src/exchange/test_taler_exchange_httpd.conf
@@ -23,11 +23,6 @@ MASTER_PUBLIC_KEY = 98NJW3CQHZQGQXTY3K85K531XKPAPAVV4Q5V8PYYRR00NJGZWNVG
# How to access our database
DB = postgres
-# Is this is a testcase, use transient DB actions?
-TESTRUN = YES
-
-
-
[exchangedb-postgres]
DB_CONN_STR = "postgres:///talercheck"
diff --git a/src/exchange/test_taler_exchange_httpd.sh b/src/exchange/test_taler_exchange_httpd.sh
index 6e51e06c..7cd2e276 100755
--- a/src/exchange/test_taler_exchange_httpd.sh
+++ b/src/exchange/test_taler_exchange_httpd.sh
@@ -27,7 +27,7 @@ unset XDG_CONFIG_HOME
# Setup keys.
taler-exchange-keyup -c test_taler_exchange_httpd.conf
# Run Exchange HTTPD (in background)
-taler-exchange-httpd -c test_taler_exchange_httpd.conf &
+taler-exchange-httpd -c test_taler_exchange_httpd.conf -i &
# Give HTTP time to start
sleep 5
# Finally run test...