summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2019-09-05 10:21:33 +0200
committerChristian Grothoff <christian@grothoff.org>2019-09-05 10:21:33 +0200
commite0979ecf5e3e55e5de80bcd4e9c15fd72c4c52ea (patch)
treea7c010831e11034d53998a9d9a1f1745e8b6a83b
parentafe455c0b6494ef5518094162f505ee948bc16b4 (diff)
downloadexchange-e0979ecf5e3e55e5de80bcd4e9c15fd72c4c52ea.tar.gz
exchange-e0979ecf5e3e55e5de80bcd4e9c15fd72c4c52ea.tar.bz2
exchange-e0979ecf5e3e55e5de80bcd4e9c15fd72c4c52ea.zip
fix test wrt lag
-rw-r--r--contrib/auditor-report.tex.j237
-rwxr-xr-xsrc/auditor/test-auditor.sh16
2 files changed, 42 insertions, 11 deletions
diff --git a/contrib/auditor-report.tex.j2 b/contrib/auditor-report.tex.j2
index cbdf6c34b..8230314ac 100644
--- a/contrib/auditor-report.tex.j2
+++ b/contrib/auditor-report.tex.j2
@@ -19,6 +19,24 @@
% linking to them from the report. (This file _is_ source code,
% the generated PDF is the service under definition of the AGPL.)
%
+%
+% NOTE WELL:
+%
+% When modifying this document, please verify that the output
+% still looks good. For this, we have noted which testcases
+% trigger the respective table being generated using comments
+% of the form:
+%
+% "Table generation tested by testcase #XX in test-auditor.sh"
+%
+% Thus, whenever modifying such a table, please verify that the
+% output still looks OK by manually inspecting the generated
+% PDF from running
+%
+% $ test-auditor.sh XX
+%
+% in the src/auditor/ directory.
+
\documentclass{article} % {acmart}
\usepackage{url}
\usepackage[T1]{fontenc}
@@ -94,40 +112,41 @@ Note that some lag is perfectly normal, as tiny amounts that are too small to be
are deferred beyond the due date, hoping that additional transfers will push them above
the tiny threshold. Below, we report {\em non-tiny} wire transfers that are lagging behind.
+% Table generation tested by testcase #1 in test-auditor.sh
+
{% if wire.lag_details|length() == 0 %}
{\bf No non-tiny wire transfers that are lagging behind detected.}
{% else %}
- \begin{longtable}{p{1.5cm}|r|c|rl}
- \multicolumn{4}{l}{\bf Coin} \\
+ \begin{longtable}{l|r|r|c}
{\bf Deadline} & {\bf Amount} & {\bf Row} & {\bf Claimed done} \\
+ \multicolumn{4}{l}{\bf Coin} \\
\multicolumn{4}{l}{\bf Target account} \\ \hline \hline
\endfirsthead
- \multicolumn{4}{l}{\bf Coin} \\
{\bf Deadline} & {\bf Amount} & {\bf Row} & {\bf Claimed done} \\
+ \multicolumn{4}{l}{\bf Coin} \\
\multicolumn{4}{l}{\bf Target account} \\ \hline \hline
\endhead
\hline \hline
- \multicolumn{4}{l}{\bf Coin} \\
{\bf Deadline} & {\bf Amount} & {\bf Row} & {\bf Claimed done} \\
+ \multicolumn{4}{l}{\bf Coin} \\
\multicolumn{4}{l}{\bf Target account} \\
\endfoot
\hline \hline
- \multicolumn{4}{l}{\bf Coin} \\
{\bf Deadline} & {\bf Amount} & {\bf Row} & {\bf Claimed done} \\
+ \multicolumn{4}{l}{\bf Coin} \\
\multicolumn{4}{l}{\bf Target account} \\
\caption{Lagging non-tiny transactions.}
\label{table:lag}
\endlastfoot
{% for item in wire.lag_details %}
- \multicolumn{4}{l}{ {\tt \small {{ item.coin_pub }} } } \\
-\nopagebreak
- &
{{ item.deadline }} &
{{ item.amount }} &
{{ item.row }} &
{{ item.claimed_done }} \\
\nopagebreak
- \multicolumn{4}{l}{ {\tt {{ item.account }} } } \\ \hline
+ \multicolumn{4}{l}{ {\tt \small {{ item.coin_pub }} } } \\
+\nopagebreak
+ \multicolumn{4}{l}{ {\tt {{ item.account.url }} } } \\ \hline
{% endfor %}
\end{longtable}
{% endif %}
diff --git a/src/auditor/test-auditor.sh b/src/auditor/test-auditor.sh
index 5058fea92..222df84bf 100755
--- a/src/auditor/test-auditor.sh
+++ b/src/auditor/test-auditor.sh
@@ -188,7 +188,6 @@ jq -e .reserve_in_amount_inconsistencies[0] < test-wire-audit.json > /dev/null &
jq -e .missattribution_inconsistencies[0] < test-wire-audit.json > /dev/null && exit_fail "Unexpected missattribution inconsistency detected in ordinary run"
jq -e .row_inconsistencies[0] < test-wire-audit.json > /dev/null && exit_fail "Unexpected row inconsistency detected in ordinary run"
jq -e .row_minor_inconsistencies[0] < test-wire-audit.json > /dev/null && exit_fail "Unexpected minor row inconsistency detected in ordinary run"
-jq -e .lag_details[0] < test-wire-audit.json > /dev/null && exit_fail "Unexpected lag 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)
@@ -196,7 +195,20 @@ jq -e .wire_format_inconsistencies[0] < test-wire-audit.json > /dev/null && exit
echo PASS
-# FIXME: check wire transfer lag reported (no aggregator!)
+echo -n "Check for lag detection... "
+# Check wire transfer lag reported (no aggregator!)
+# NOTE: This test is EXPECTED to fail for ~1h after
+# re-generating the test database as we do not
+# report lag of less than 1h (see GRACE_PERIOD in
+# taler-wire-auditor.c)
+jq -e .lag_details[0] < test-wire-audit.json > /dev/null || exit_fail "Lag not detected in run without aggregator"
+
+LAG=`jq -r .total_amount_lag < test-wire-audit.json`
+if test $LAG = "TESTKUDOS:0"
+then
+ exit_fail "Expected total lag to be non-zero"
+fi
+echo "PASS"
echo -n "Test for wire amounts... "
WIRED=`jq -r .total_wire_in_delta_plus < test-wire-audit.json`