clarify FIXMEs

This commit is contained in:
Christian Grothoff 2020-01-19 14:53:24 +01:00
parent ca7d8434dd
commit dbf85bbc0d
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
4 changed files with 35 additions and 25 deletions

View File

@ -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

View File

@ -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

View File

@ -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!
# **************************************************

View File

@ -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 $?