summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/taler-exchange-httpd.13
-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
8 files changed, 16 insertions, 18 deletions
diff --git a/doc/taler-exchange-httpd.1 b/doc/taler-exchange-httpd.1
index 2f0c37f6a..a02619d16 100644
--- a/doc/taler-exchange-httpd.1
+++ b/doc/taler-exchange-httpd.1
@@ -22,6 +22,9 @@ Use the configuration and other resources for the exchange to operate from DIRNA
.IP "\-h, \-\-help"
Print short help on options.
.B
+.IP "\-i, \-\-init-db"
+Initialize the database by creating tables and indices if necessary.
+.B
.IP "\-v, \-\-version"
Print version information.
.B
diff --git a/src/exchange-lib/afl-generate.sh b/src/exchange-lib/afl-generate.sh
index 6ae833087..b0afcab35 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 7f6e86a4a..289c88741 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 03dd6f992..e815a0bbf 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 333e9a58a..39151ea67 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 d6dfb0358..f1661b003 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 19f448f3b..e1c30615b 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 6e51e06c1..7cd2e2762 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...