summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 cbdf6c34..8230314a 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 5058fea9..222df84b 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`