gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-anastasis] branch master updated: review test script


From: gnunet
Subject: [taler-anastasis] branch master updated: review test script
Date: Sun, 28 Feb 2021 18:44:02 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository anastasis.

The following commit(s) were added to refs/heads/master by this push:
     new c42f62c  review test script
c42f62c is described below

commit c42f62cc76ebb74136b090444b10c8a49d5f82c1
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun Feb 28 18:44:00 2021 +0100

    review test script
---
 src/cli/test_anastasis_reducer_enter_secret.sh | 171 +++++++++++++------------
 1 file changed, 88 insertions(+), 83 deletions(-)

diff --git a/src/cli/test_anastasis_reducer_enter_secret.sh 
b/src/cli/test_anastasis_reducer_enter_secret.sh
index d049f97..8f6a827 100755
--- a/src/cli/test_anastasis_reducer_enter_secret.sh
+++ b/src/cli/test_anastasis_reducer_enter_secret.sh
@@ -9,13 +9,13 @@ set -eu
 
 # Exit, with status code "skip" (no 'real' failure)
 function exit_skip() {
-    echo $1
+    echo " SKIP: $1"
     exit 77
 }
 
 # Exit, with error message (hard failure)
 function exit_fail() {
-    echo $1
+    echo " FAIL: $1"
     exit 1
 }
 
@@ -31,27 +31,31 @@ function cleanup()
     wait
 }
 
-# Install cleanup handler (except for kill -9)
-AFN=`which anastasis-reducer`
-ADN=`dirname $AFN`
-RESOURCES=$ADN/../share/anastasis
+CONF_1="test_anastasis_reducer_1.conf"
+CONF_2="test_anastasis_reducer_2.conf"
+CONF_3="test_anastasis_reducer_3.conf"
+CONF_4="test_anastasis_reducer_4.conf"
+
+# Exchange configuration file will be edited, so we create one
+# from the template.
+CONF=`mktemp test_reducerXXXXXX.conf`
+cp test_reducer.conf $CONF
+
 TMP_DIR=`mktemp -d keys-tmp-XXXXXX`
 WALLET_DB=`mktemp test_reducer_walletXXXXXX.json`
-CONF=`mktemp test_reducerXXXXXX.conf`
-CONF_1=`mktemp test_reducerXXXXXX_1.conf`
-CONF_2=`mktemp test_reducerXXXXXX_2.conf`
-CONF_3=`mktemp test_reducerXXXXXX_3.conf`
-CONF_4=`mktemp test_reducerXXXXXX_4.conf`
-SFILE=$RESOURCES/test_reducer_stateSESTATE
 TFILE=`mktemp test_reducer_statePPXXXXXX`
 UFILE=`mktemp test_reducer_stateBFXXXXXX`
 
+# Install cleanup handler (except for kill -9)
 trap cleanup EXIT
 
 # Check we can actually run
 echo -n "Testing for jq"
 jq -h > /dev/null || exit_skip "jq required"
 echo " FOUND"
+echo -n "Testing for anastasis-reducer ..."
+anastasis-reducer -h > /dev/null || exit_skip "anastasis-reducer required"
+echo " FOUND"
 
 echo -n "Testing for taler"
 taler-exchange-httpd -h > /dev/null || exit_skip " taler-exchange required"
@@ -69,41 +73,35 @@ echo -n "Testing for anastasis-httpd"
 anastasis-httpd -h >/dev/null </dev/null || exit_skip " MISSING"
 echo " FOUND"
 
+echo -n "Initialize anastasis database ..."
 # Name of the Postgres database we will use for the script.
 # Will be dropped, do NOT use anything that might be used
 # elsewhere
-TALER_DB=talercheck
-ANASTASIS_DB=anastasischeck
-ANASTASIS_DB_1=anastasischeck1
-ANASTASIS_DB_2=anastasischeck2
-ANASTASIS_DB_3=anastasischeck3
-
-# delete existing wallet database
-rm -f $WALLET_DB
-
-# Configuration file will be edited, so we create one
-# from the template.
-cp test_reducer.conf $CONF
-cp test_anastasis_reducer.conf $CONF_1
-cp test_anastasis_reducer_1.conf $CONF_2
-cp test_anastasis_reducer_2.conf $CONF_3
-cp test_anastasis_reducer_3.conf $CONF_4
+TARGET_DB_1=`anastasis-config -c $CONF_1 -s stasis-postgres -o CONFIG | sed -e 
"s/^postgres:\/\/\///"`
+TARGET_DB_2=`anastasis-config -c $CONF_2 -s stasis-postgres -o CONFIG | sed -e 
"s/^postgres:\/\/\///"`
+TARGET_DB_3=`anastasis-config -c $CONF_3 -s stasis-postgres -o CONFIG | sed -e 
"s/^postgres:\/\/\///"`
+TARGET_DB_4=`anastasis-config -c $CONF_4 -s stasis-postgres -o CONFIG | sed -e 
"s/^postgres:\/\/\///"`
+
+echo -n "Initialize anastasis database ..."
+dropdb $TARGET_DB_1 >/dev/null 2>/dev/null || true
+createdb $TARGET_DB_1 || exit_skip "Could not create database $TARGET_DB_1"
+anastasis-dbinit -c $CONF_1 2> anastasis-dbinit_1.log
+dropdb $TARGET_DB_2 >/dev/null 2>/dev/null || true
+createdb $TARGET_DB_2 || exit_skip "Could not create database $TARGET_DB_2"
+anastasis-dbinit -c $CONF_2 2> anastasis-dbinit_2.log
+dropdb $TARGET_DB_3 >/dev/null 2>/dev/null || true
+createdb $TARGET_DB_3 || exit_skip "Could not create database $TARGET_DB_3"
+anastasis-dbinit -c $CONF_3 2> anastasis-dbinit_3.log
+dropdb $TARGET_DB_4 >/dev/null 2>/dev/null || true
+createdb $TARGET_DB_4 || exit_skip "Could not create database $TARGET_DB_4"
+anastasis-dbinit -c $CONF_4 2> anastasis-dbinit_4.log
+
+echo " OK"
+
+echo -n "Generating Taler auditor, exchange and merchant configurations ..."
 
-# Clean up
 DATA_DIR=`taler-config -f -c $CONF -s PATHS -o TALER_HOME`
-rm -rf $DATA_DIR || true
-
-# reset database
-dropdb $TALER_DB >/dev/null 2>/dev/null || true
-createdb $TALER_DB || exit_skip "Could not create database $TALER_DB"
-dropdb $ANASTASIS_DB >/dev/null 2>/dev/null || true
-createdb $ANASTASIS_DB || exit_skip "Could not create database $ANASTASIS_DB"
-dropdb $ANASTASIS_DB_1 >/dev/null 2>/dev/null || true
-createdb $ANASTASIS_DB_1 || exit_skip "Could not create database 
$ANASTASIS_DB_1"
-dropdb $ANASTASIS_DB_2 >/dev/null 2>/dev/null || true
-createdb $ANASTASIS_DB_2 || exit_skip "Could not create database 
$ANASTASIS_DB_2"
-dropdb $ANASTASIS_DB_3 >/dev/null 2>/dev/null || true
-createdb $ANASTASIS_DB_3 || exit_skip "Could not create database 
$ANASTASIS_DB_3"
+rm -rf $DATA_DIR
 
 # obtain key configuration data
 MASTER_PRIV_FILE=`taler-config -f -c $CONF -s EXCHANGE -o MASTER_PRIV_FILE`
@@ -133,17 +131,22 @@ taler-config -c $CONF -s bank -o database -V 
postgres:///$TALER_DB
 taler-config -c $CONF -s exchange -o KEYDIR -V "${TMP_DIR}/keydir/"
 taler-config -c $CONF -s exchange -o REVOCATION_DIR -V "${TMP_DIR}/revdir/"
 
-# setup exchange
-echo "Setting up exchange"
-taler-exchange-dbinit -c $CONF
+echo " OK"
+
+echo -n "Setting up exchange ..."
 
-# setup auditor
-echo "Setting up auditor"
+TALER_DB=talercheck
+# reset database
+dropdb $TALER_DB >/dev/null 2>/dev/null || true
+createdb $TALER_DB || exit_skip "Could not create database $TALER_DB"
+taler-exchange-dbinit -c $CONF
 taler-auditor-dbinit -c $CONF
 taler-auditor-exchange -c $CONF -m $MASTER_PUB -u $EXCHANGE_URL
 
+echo " OK"
+
 # Launch services
-echo "Launching taler service"
+echo -n "Launching taler services ..."
 taler-bank-manage-testing $CONF postgres:///$TALER_DB serve &
 TFN=`which taler-exchange-httpd`
 TBINPFX=`dirname $TFN`
@@ -159,11 +162,14 @@ MERCHANT_PID=$!
 taler-exchange-wirewatch -c $CONF 2> taler-exchange-wirewatch.log &
 taler-auditor-httpd -L INFO -c $CONF 2> taler-auditor-httpd.log &
 
-echo "Launching anastasis service"
-valgrind anastasis-httpd -c $CONF_1 2> anastasis-httpd_1.log &
-valgrind anastasis-httpd -c $CONF_2 2> anastasis-httpd_2.log &
-valgrind anastasis-httpd -c $CONF_3 2> anastasis-httpd_3.log &
-valgrind anastasis-httpd -c $CONF_4 2> anastasis-httpd_4.log &
+echo " OK"
+
+echo "Launching anastasis services ..."
+PREFIX=valgrind
+$PREFIX anastasis-httpd -c $CONF_1 2> anastasis-httpd_1.log &
+$PREFIX anastasis-httpd -c $CONF_2 2> anastasis-httpd_2.log &
+$PREFIX anastasis-httpd -c $CONF_3 2> anastasis-httpd_3.log &
+$PREFIX anastasis-httpd -c $CONF_4 2> anastasis-httpd_4.log &
 
 # Wait for bank to be available (usually the slowest)
 for n in `seq 1 50`
@@ -203,6 +209,8 @@ then
     exit_skip "Failed to launch taler services"
 fi
 
+echo "OK"
+
 echo -n "Setting up keys"
 taler-exchange-offline -c $CONF \
   download sign \
@@ -217,7 +225,6 @@ for n in `seq 1 2`
 do
     echo -n "."
     OK=0
-    # bank
     wget --timeout=1 http://localhost:8081/keys -o /dev/null -O /dev/null 
>/dev/null || continue
     OK=1
     break
@@ -228,9 +235,14 @@ then
     exit_skip "Failed to setup keys"
 fi
 
+echo "Setting up auditor signatures ..."
 taler-auditor-offline -c $CONF \
   download sign upload &> taler-auditor-offline.log
 
+echo " OK"
+
+echo -n "Waiting for anastasis services ..."
+
 # Wait for anastasis services to be available
 for n in `seq 1 50`
 do
@@ -254,21 +266,22 @@ then
     exit_skip "Failed to launch anastasis services"
 fi
 
+echo "OK"
+
+
+echo -n "Configuring merchant instance ..."
 # Setup merchant
 
 curl -H "Content-Type: application/json" -X POST -d 
'{"payto_uris":["payto://x-taler-bank/localhost/43"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"TESTKUDOS:1",
 
"default_max_deposit_fee":"TESTKUDOS:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_ms"
 : 3600000},"default_pay_delay":{"d_ms": 3600000}}' 
http://localhost:9966/private/instances
 
 
-echo " ANASTASIS SETUP DONE"
-echo " "
-echo " "
-echo " "
-echo -e $COLOR$BOLD"Beginning with actual reducer test"$NORM$NOCOLOR
+echo " DONE"
 
-# Test enter secret in a backup state
-echo " "
-echo -e $COLOR$BOLD"Test enter secret in a backup state"$NORM$NOCOLOR
-valgrind .libs/anastasis-reducer -a \
+bash
+
+echo -e $COLOR$BOLD"Test enter secret in a backup state ..."$NORM$NOCOLOR
+
+PREFIX anastasis-reducer -a \
   '{"secret": "veryhardtoguesssecret",
     "type": "password"}' \
   enter_secret $SFILE $TFILE
@@ -285,16 +298,13 @@ then
     exit_fail "Expected truth_uploads array length to be >= 3, got 
$OBJECT_SIZE"
 fi
 
-echo " "
+echo " OK"
 echo -e $COLOR$BOLD"Current state of policy uploads:"$NORM$NOCOLOR
 POLICY_UPLOADS=`jq -r -e .recovery_document_uploads < $TFILE`
 echo $POLICY_UPLOADS
 #Pay
 echo " "
-echo -e $COLOR$BOLD"Try to pay for upload"$NORM$NOCOLOR
-#First make a withdraw to wallet
-echo " "
-echo -e $COLOR$BOLD"Withdrawing amount to wallet"$NORM$NOCOLOR
+echo -e $COLOR$BOLD"Withdrawing amount to wallet .,.."$NORM$NOCOLOR
 taler-wallet-cli --no-throttle --wallet-db=$WALLET_DB api 
'withdrawTestBalance' \
   "$(jq -n '
     {
@@ -307,30 +317,23 @@ taler-wallet-cli --no-throttle --wallet-db=$WALLET_DB api 
'withdrawTestBalance'
   )"
 taler-wallet-cli --wallet-db=$WALLET_DB run-until-done
 
-echo " "
-echo -e $COLOR$BOLD"Parsing policy uploads for payment-uri"$NORM$NOCOLOR
+echo " OK"
+echo -e $COLOR$BOLD"Parsing policy uploads for payment-uri ..."$NORM$NOCOLOR
 OBJECT_SIZE=`jq -r -e '.recovery_document_uploads | length' < $TFILE`
 for ((INDEX=0; INDEX < $OBJECT_SIZE; INDEX++))
 do
     PAY_URI=`jq --argjson INDEX $INDEX -r -e '[.recovery_document_uploads | 
keys[] as $k | .[$k].pay_url][$INDEX]' < $TFILE`
-    echo " "
-    echo "[$INDEX] PAY_URI: $PAY_URI"
     # run wallet CLI
-    echo " "
-    echo -e $COLOR$BOLD"[$INDEX] Running wallet handle-uri"$NORM$NOCOLOR
+    echo -n "."
     taler-wallet-cli --wallet-db=$WALLET_DB handle-uri $PAY_URI -y
 done
-echo " "
-echo -e $COLOR$BOLD"Running wallet run-pending"$NORM$NOCOLOR
+echo " OK"
+echo -e $COLOR$BOLD"Running wallet run-pending..."$NORM$NOCOLOR
 taler-wallet-cli --wallet-db=$WALLET_DB run-pending
 
-echo -e $COLOR$BOLD"Payment done"$NORM$NOCOLOR
-echo " "
-echo " "
-echo -e $COLOR$BOLD"Try to upload again"$NORM$NOCOLOR
-valgrind .libs/anastasis-reducer -a \
-  '{}' \
-  pay $TFILE $UFILE
+echo -e $COLOR$BOLD"Payments done"$NORM$NOCOLOR
+echo -e $COLOR$BOLD"Try to upload again ..."$NORM$NOCOLOR
+$PREFIX anastasis-reducer pay $TFILE $UFILE
 
 STATE=`jq -r -e .backup_state < $UFILE`
 if test "$STATE" != "BACKUP_FINISHED"
@@ -338,4 +341,6 @@ then
     exit_fail "Expected new state to be BACKUP_FINISHED, got $STATE"
 fi
 
+echo " OK"
+
 exit 0

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]