diff --git a/contrib/auditor-report.tex.j2 b/contrib/auditor-report.tex.j2 index a21ded1c4..7704d54a6 100644 --- a/contrib/auditor-report.tex.j2 +++ b/contrib/auditor-report.tex.j2 @@ -279,14 +279,14 @@ Note that some minimal lag may be normal as transactions may be in-flight. This section analyzes the lag, which is by how much the exchange's database reporting is behind in providing us with information about -deposit confirmations. Merchants probabilisitcally report deposit +deposit confirmations. Merchants probabilistically report deposit confirmations to the auditor directly, so if the exchange is slow at synchronizing its database with the auditor, some deposit confirmations may be known at the auditor only directly. However, any delta not accounted for by database synchronization delays is an indicator of a malicious exchange (or online singing key compromise) and should be answered by revoking the exchange's online siging keys. -% FIXME: reference PhD thesis? +% TODO: maybe reference PhD thesis on this? The total amount the exchange currently lags behind is {\bf {{ data.missing_deposit_confirmation_total }} } from a total number of diff --git a/src/auditor/generate-auditor-basedb.sh b/src/auditor/generate-auditor-basedb.sh index d23b67431..22982c2b7 100755 --- a/src/auditor/generate-auditor-basedb.sh +++ b/src/auditor/generate-auditor-basedb.sh @@ -29,10 +29,6 @@ BASEDB=${1:-"auditor-basedb"} # elsewhere TARGET_DB=taler-auditor-basedb -# FIXME: try to generate DB from scratch, fall back -# to pre-generated DB if generate-auditor-basedb.sh -# fails with status code 77! - # Configuation file will be edited, so we create one # from the template. CONF=generate-auditor-basedb-prod.conf diff --git a/src/auditor/test-auditor.sh b/src/auditor/test-auditor.sh index 0aea2778f..aa755c17d 100755 --- a/src/auditor/test-auditor.sh +++ b/src/auditor/test-auditor.sh @@ -152,8 +152,8 @@ jq -e .lag_details[0] < test-wire-audit.json > /dev/null && exit_fail "Unexpecte jq -e .wire_format_inconsistencies[0] < test-wire-audit.json > /dev/null && exit_fail "Unexpected wire format inconsistencies detected in ordinary run" -# FIXME: check operation balances are correct (once we have more transaction types) -# FIXME: check revenue summaries are correct (once we have more transaction types) +# TODO: check operation balances are correct (once we have all transaction types and wallet is deterministic) +# TODO: check revenue summaries are correct (once we have all transaction types and wallet is deterministic) echo PASS @@ -210,8 +210,6 @@ echo -n "Checking for unexpected wire out differences " jq -e .wire_out_inconsistencies[0] < test-audit.json > /dev/null && exit_fail "Unexpected wire out inconsistencies detected in ordinary run" echo PASS -# FIXME: check NO lag reported - # cannot easily undo aggregator, hence full reload full_reload @@ -240,8 +238,8 @@ jq -e .row_inconsistencies[0] < test-wire-audit.json > /dev/null && exit_fail "U jq -e .row_minor_inconsistencies[0] < test-wire-audit.json > /dev/null && exit_fail "Unexpected minor row inconsistency detected in ordinary run" jq -e .wire_format_inconsistencies[0] < test-wire-audit.json > /dev/null && exit_fail "Unexpected wire format inconsistencies detected in ordinary run" -# FIXME: check operation balances are correct (once we have more transaction types) -# FIXME: check revenue summaries are correct (once we have more transaction types) +# TODO: check operation balances are correct (once we have all transaction types and wallet is deterministic) +# TODO: check revenue summaries are correct (once we have all transaction types and wallet is deterministic) echo PASS @@ -1256,7 +1254,6 @@ echo "UPDATE auditor_denominations SET expire_withdraw=${NEW_WEXP} WHERE denom_p run_audit echo -n "Testing inconsistency detection... " -# FIXME jq -e .denomination_key_validity_withdraw_inconsistencies[0] < test-audit.json > /dev/null || exit_fail "Denomination key withdraw inconsistency not detected" echo PASS @@ -1434,10 +1431,7 @@ fi # ************************************************** -# FIXME: Add more tests here! :-) -# Specifically: -# - revocation (payback, accepting -# of coins despite denomination revocation) +# TODO: Add tests for revocation (payback, accepting of coins despite revocation) HERE! # ************************************************** diff --git a/src/exchange/test_taler_exchange_httpd.sh b/src/exchange/test_taler_exchange_httpd.sh index 505723a07..f25a634fd 100755 --- a/src/exchange/test_taler_exchange_httpd.sh +++ b/src/exchange/test_taler_exchange_httpd.sh @@ -24,19 +24,39 @@ unset XDG_DATA_HOME unset XDG_CONFIG_HOME # +echo -n "Launching exchange ..." + # Setup keys. taler-exchange-keyup -c test_taler_exchange_httpd.conf || exit 1 # Setup wire accounts. -taler-exchange-wire -c test_taler_exchange_httpd.conf || exit 1 +taler-exchange-wire -c test_taler_exchange_httpd.conf > /dev/null || exit 1 # Run Exchange HTTPD (in background) -taler-exchange-httpd -c test_taler_exchange_httpd.conf -i & +taler-exchange-httpd -c test_taler_exchange_httpd.conf -i 2> test-exchange.log & + # Give HTTP time to start -# FIXME: replace with while-loop waiting for wget to succeed as in test-auditor.sh! -sleep 5 + +for n in `seq 1 20` +do + echo -n "." + sleep 0.1 + OK=1 + wget http://localhost:8081/ -o /dev/null -O /dev/null >/dev/null && break + OK=0 +done +if [ 1 != $OK ] +then + echo "Failed to launch exchange" + exit 77 +fi +echo " DONE" + # Finally run test... # We read the JSON snippets to POST from test_taler_exchange_httpd.data -cat test_taler_exchange_httpd.data | grep -v ^\# | awk '{ print "curl -d \47" $2 "\47 http://localhost:8081" $1 }' | bash -# Stop HTTP server -kill -TERM %% -# FIXME: not sure this is the 'correct' return code... +cat test_taler_exchange_httpd.data | grep -v ^\# | awk '{ print "curl -d \47" $2 "\47 http://localhost:8081" $1 }' | bash &> /dev/null + +echo "Terminating exchange" +# $! is the last backgrounded process, hence the exchange +kill -TERM $! +wait $! +# Return status code from exchange for this script exit $?