gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: -wip


From: gnunet
Subject: [taler-exchange] branch master updated: -wip
Date: Mon, 19 Sep 2022 19:32:25 +0200

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

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 3fa9f3bb -wip
3fa9f3bb is described below

commit 3fa9f3bb12635c6bbb50b763e2c955d73e2e37fa
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Mon Sep 19 19:32:18 2022 +0200

    -wip
---
 src/auditor/generate-auditor-basedb.sh | 72 ++++++++++++++++-----------------
 src/auditor/generate-revoke-basedb.sh  | 21 +++++-----
 src/auditor/test-auditor.sh            | 25 +++++++-----
 src/auditor/test-revocation.sh         | 73 ++++++++++++++++++++++++----------
 4 files changed, 114 insertions(+), 77 deletions(-)

diff --git a/src/auditor/generate-auditor-basedb.sh 
b/src/auditor/generate-auditor-basedb.sh
index 17cfc4b4..a24942df 100755
--- a/src/auditor/generate-auditor-basedb.sh
+++ b/src/auditor/generate-auditor-basedb.sh
@@ -70,14 +70,12 @@ export WALLET_DB=${BASEDB:-"wallet"}.wdb
 
 # delete existing wallet database
 rm -f $WALLET_DB
-# delete libeufin database
-rm -f $TARGET_DB
-
 
 # Configuration file will be edited, so we create one
 # from the template.
-CONF_ONCE=$1.conf
-cp generate-auditor-basedb.conf $CONF_ONCE
+export CONF=$1.conf
+cp generate-auditor-basedb.conf $CONF
+echo "Created configuration at ${CONF}"
 
 echo -n "Testing for libeufin"
 libeufin-cli --help >/dev/null </dev/null || exit_skip " MISSING"
@@ -91,7 +89,7 @@ echo " FOUND"
 
 # Clean up
 
-DATA_DIR=`taler-config -f -c $CONF_ONCE -s PATHS -o TALER_HOME`
+DATA_DIR=`taler-config -f -c $CONF -s PATHS -o TALER_HOME`
 
 # reset database
 dropdb $TARGET_DB >/dev/null 2>/dev/null || true
@@ -100,62 +98,62 @@ createdb $TARGET_DB || exit_skip "Could not create 
database $TARGET_DB"
 # obtain key configuration data
 MASTER_PRIV_FILE=$1.mpriv
 MASTER_PRIV_DIR=`dirname $MASTER_PRIV_FILE`
-taler-config -f -c ${CONF_ONCE} -s exchange-offline -o MASTER_PRIV_FILE -V 
${MASTER_PRIV_FILE}
+taler-config -f -c ${CONF} -s exchange-offline -o MASTER_PRIV_FILE -V 
${MASTER_PRIV_FILE}
 rm -f "${MASTER_PRIV_FILE}"
 mkdir -p $MASTER_PRIV_DIR
 gnunet-ecc -l/dev/null -g1 $MASTER_PRIV_FILE > /dev/null
-MASTER_PUB=`gnunet-ecc -p $MASTER_PRIV_FILE`
-MERCHANT_PORT=`taler-config -c $CONF_ONCE -s MERCHANT -o PORT`
-MERCHANT_URL=http://localhost:${MERCHANT_PORT}/
-AUDITOR_URL=http://localhost:8083/
+export MASTER_PUB=`gnunet-ecc -p $MASTER_PRIV_FILE`
+export EXCHANGE_URL=`taler-config -c $CONF -s EXCHANGE -o BASE_URL`
+MERCHANT_PORT=`taler-config -c $CONF -s MERCHANT -o PORT`
+export MERCHANT_URL=http://localhost:${MERCHANT_PORT}/
+BANK_PORT=`taler-config -c $CONF -s BANK -o HTTP_PORT`
+BANK_URL="http://localhost:1${BANK_PORT}/demobanks/default";
+export AUDITOR_URL=http://localhost:8083/
 AUDITOR_PRIV_FILE=$1.apriv
 AUDITOR_PRIV_DIR=`dirname $AUDITOR_PRIV_FILE`
-taler-config -f -c ${CONF_ONCE} -s auditor -o AUDITOR_PRIV_FILE -V 
${AUDITOR_PRIV_FILE}
+taler-config -f -c ${CONF} -s auditor -o AUDITOR_PRIV_FILE -V 
${AUDITOR_PRIV_FILE}
 mkdir -p $AUDITOR_PRIV_DIR
 gnunet-ecc -l/dev/null -g1 $AUDITOR_PRIV_FILE > /dev/null
 AUDITOR_PUB=`gnunet-ecc -p $AUDITOR_PRIV_FILE`
-EXCHANGE_URL=`taler-config -c $CONF_ONCE -s EXCHANGE -o BASE_URL`
-BANK_PORT=`taler-config -c $CONF_ONCE -s BANK -o HTTP_PORT`
-BANK_URL="http://localhost:1${BANK_PORT}/demobanks/default";
 
 echo "MASTER PUB is ${MASTER_PUB} using file ${MASTER_PRIV_FILE}"
 echo "AUDITOR PUB is ${AUDITOR_PUB} using file ${AUDITOR_PRIV_FILE}"
 
 # patch configuration
-taler-config -c $CONF_ONCE -s exchange -o MASTER_PUBLIC_KEY -V $MASTER_PUB
-taler-config -c $CONF_ONCE -s auditor -o PUBLIC_KEY -V $AUDITOR_PUB
-taler-config -c $CONF_ONCE -s merchant-exchange-default -o MASTER_KEY -V 
$MASTER_PUB
+taler-config -c $CONF -s exchange -o MASTER_PUBLIC_KEY -V $MASTER_PUB
+taler-config -c $CONF -s auditor -o PUBLIC_KEY -V $AUDITOR_PUB
+taler-config -c $CONF -s merchant-exchange-default -o MASTER_KEY -V $MASTER_PUB
 
-taler-config -c $CONF_ONCE -s exchangedb-postgres -o CONFIG -V 
postgres:///$TARGET_DB
-taler-config -c $CONF_ONCE -s auditordb-postgres -o CONFIG -V 
postgres:///$TARGET_DB
-taler-config -c $CONF_ONCE -s merchantdb-postgres -o CONFIG -V 
postgres:///$TARGET_DB
-taler-config -c $CONF_ONCE -s bank -o database -V postgres:///$TARGET_DB
+taler-config -c $CONF -s exchangedb-postgres -o CONFIG -V 
postgres:///$TARGET_DB
+taler-config -c $CONF -s auditordb-postgres -o CONFIG -V postgres:///$TARGET_DB
+taler-config -c $CONF -s merchantdb-postgres -o CONFIG -V 
postgres:///$TARGET_DB
+taler-config -c $CONF -s bank -o database -V postgres:///$TARGET_DB
 
 # setup exchange
 echo "Setting up exchange"
-taler-exchange-dbinit -c $CONF_ONCE
+taler-exchange-dbinit -c $CONF
 
 echo "Setting up merchant"
-taler-merchant-dbinit -c $CONF_ONCE
+taler-merchant-dbinit -c $CONF
 
 # setup auditor
 echo "Setting up auditor"
-taler-auditor-dbinit -c $CONF_ONCE || exit_skip "Failed to initialize auditor 
DB"
-taler-auditor-exchange -c $CONF_ONCE -m $MASTER_PUB -u $EXCHANGE_URL || 
exit_skip "Failed to add exchange to auditor"
+taler-auditor-dbinit -c $CONF || exit_skip "Failed to initialize auditor DB"
+taler-auditor-exchange -c $CONF -m $MASTER_PUB -u $EXCHANGE_URL || exit_skip 
"Failed to add exchange to auditor"
 
 # Launch services
 echo "Launching services (pre audit DB: $TARGET_DB)"
-taler-bank-manage-testing $BANK_PORT $TARGET_DB $EXCHANGE_URL $CONF_ONCE
+taler-bank-manage-testing $BANK_PORT $TARGET_DB $EXCHANGE_URL $CONF
 TFN=`which taler-exchange-httpd`
 TBINPFX=`dirname $TFN`
 TLIBEXEC=${TBINPFX}/../lib/taler/libexec/
-taler-exchange-secmod-eddsa -c $CONF_ONCE 2> taler-exchange-secmod-eddsa.log &
-taler-exchange-secmod-rsa -c $CONF_ONCE 2> taler-exchange-secmod-rsa.log &
-taler-exchange-secmod-cs -c $CONF_ONCE 2> taler-exchange-secmod-cs.log &
-taler-exchange-httpd -c $CONF_ONCE 2> taler-exchange-httpd.log &
-taler-merchant-httpd -c $CONF_ONCE -L INFO 2> taler-merchant-httpd.log &
-taler-exchange-wirewatch -c $CONF_ONCE 2> taler-exchange-wirewatch.log &
-taler-auditor-httpd -L INFO -c $CONF_ONCE 2> taler-auditor-httpd.log &
+taler-exchange-secmod-eddsa -c $CONF 2> taler-exchange-secmod-eddsa.log &
+taler-exchange-secmod-rsa -c $CONF 2> taler-exchange-secmod-rsa.log &
+taler-exchange-secmod-cs -c $CONF 2> taler-exchange-secmod-cs.log &
+taler-exchange-httpd -c $CONF 2> taler-exchange-httpd.log &
+taler-merchant-httpd -c $CONF -L INFO 2> taler-merchant-httpd.log &
+taler-exchange-wirewatch -c $CONF 2> taler-exchange-wirewatch.log &
+taler-auditor-httpd -L INFO -c $CONF 2> taler-auditor-httpd.log &
 
 # Wait for all bank to be available (usually the slowest)
 for n in `seq 1 50`
@@ -195,9 +193,9 @@ then
     exit_skip "Failed to launch services"
 fi
 echo -n "Setting up keys"
-taler-exchange-offline -c $CONF_ONCE \
+taler-exchange-offline -c $CONF \
   download sign \
-  enable-account `taler-config -c $CONF_ONCE -s exchange-account-1 -o 
PAYTO_URI` \
+  enable-account `taler-config -c $CONF -s exchange-account-1 -o PAYTO_URI` \
   enable-auditor $AUDITOR_PUB $AUDITOR_URL "TESTKUDOS Auditor" \
   wire-fee now iban TESTKUDOS:0.07 TESTKUDOS:0.01 TESTKUDOS:0.01 \
   global-fee now TESTKUDOS:0.01 TESTKUDOS:0.01 TESTKUDOS:0.01 TESTKUDOS:0.01 
1h 1h 1year 5 \
@@ -222,7 +220,7 @@ fi
 echo " DONE"
 echo -n "Adding auditor signatures ..."
 
-taler-auditor-offline -c $CONF_ONCE \
+taler-auditor-offline -c $CONF \
   download sign upload &> taler-auditor-offline.log
 
 echo " DONE"
diff --git a/src/auditor/generate-revoke-basedb.sh 
b/src/auditor/generate-revoke-basedb.sh
index 64e25d59..0d33d3a3 100755
--- a/src/auditor/generate-revoke-basedb.sh
+++ b/src/auditor/generate-revoke-basedb.sh
@@ -59,7 +59,7 @@ rm -f $WALLET_DB
 # from the template.
 export CONF=${BASEDB}.conf
 cp generate-auditor-basedb.conf $CONF
-taler-config -c ${CONF} -s exchange-offline -o MASTER_PRIV_FILE -V 
${BASEDB}.mpriv
+echo "Created configuration at ${CONF}"
 
 echo -n "Testing for libeufin(-cli)"
 libeufin-cli --help >/dev/null </dev/null || exit_skip " MISSING"
@@ -81,9 +81,9 @@ createdb $TARGET_DB || exit_skip "Could not create database 
$TARGET_DB"
 rm $TARGET_DB >/dev/null 2>/dev/null || true # libeufin
 
 # obtain key configuration data
-MASTER_PRIV_FILE=${TARGET_DB}.priv
-taler-config -f -c $CONF -s exchange-offline -o MASTER_PRIV_FILE -V 
${MASTER_PRIV_FILE}
+MASTER_PRIV_FILE=$1.mpriv
 MASTER_PRIV_DIR=`dirname $MASTER_PRIV_FILE`
+taler-config -f -c $CONF -s exchange-offline -o MASTER_PRIV_FILE -V 
${MASTER_PRIV_FILE}
 mkdir -p $MASTER_PRIV_DIR
 rm -f "${MASTER_PRIV_FILE}"
 gnunet-ecc -g1 $MASTER_PRIV_FILE > /dev/null
@@ -94,14 +94,20 @@ export MERCHANT_URL=http://localhost:${MERCHANT_PORT}/
 BANK_PORT=`taler-config -c $CONF -s BANK -o HTTP_PORT`
 export BANK_URL=http://localhost:1${BANK_PORT}/demobanks/default
 export AUDITOR_URL=http://localhost:8083/
-AUDITOR_PRIV_FILE=`taler-config -f -c $CONF -s AUDITOR -o AUDITOR_PRIV_FILE`
+AUDITOR_PRIV_FILE=$1.apriv
 AUDITOR_PRIV_DIR=`dirname $AUDITOR_PRIV_FILE`
+taler-config -f -c ${CONF} -s auditor -o AUDITOR_PRIV_FILE -V 
${AUDITOR_PRIV_FILE}
 mkdir -p $AUDITOR_PRIV_DIR
-gnunet-ecc -g1 $AUDITOR_PRIV_FILE > /dev/null
+gnunet-ecc -l /dev/null -g1 $AUDITOR_PRIV_FILE > /dev/null
 AUDITOR_PUB=`gnunet-ecc -p $AUDITOR_PRIV_FILE`
 
+echo "MASTER PUB is ${MASTER_PUB} using file ${MASTER_PRIV_FILE}"
+echo "AUDITOR PUB is ${AUDITOR_PUB} using file ${AUDITOR_PRIV_FILE}"
+
+
 # patch configuration
 taler-config -c $CONF -s exchange -o MASTER_PUBLIC_KEY -V $MASTER_PUB
+taler-config -c $CONF -s auditor -o PUBLIC_KEY -V $AUDITOR_PUB
 taler-config -c $CONF -s merchant-exchange-default -o MASTER_KEY -V $MASTER_PUB
 taler-config -c $CONF -s exchangedb-postgres -o CONFIG -V 
postgres:///$TARGET_DB
 taler-config -c $CONF -s auditordb-postgres -o CONFIG -V postgres:///$TARGET_DB
@@ -419,12 +425,9 @@ date +%s > ${BASEDB}.age
 echo "Final clean up"
 dropdb $TARGET_DB
 rm $TARGET_DB # libeufin
-rm -rf $DATA_DIR || true
-rm -f $CONF
-rm -r $TMP_DIR
 
 echo "====================================="
-echo "  Finished revocation DB generation  "
+echo "  Finished generation of $BASEDB "
 echo "====================================="
 
 exit 0
diff --git a/src/auditor/test-auditor.sh b/src/auditor/test-auditor.sh
index 637a21d9..937da49f 100755
--- a/src/auditor/test-auditor.sh
+++ b/src/auditor/test-auditor.sh
@@ -67,13 +67,20 @@ function stop_libeufin()
     if test -f libeufin-sandbox.pid
     then
         echo "Killing libeufin sandbox"
-        kill `cat libeufin-sandbox.pid 2> /dev/null` &> /dev/null || true
+        PID=`cat libeufin-sandbox.pid 2> /dev/null`
+        kill $PID || true
+        wait $PID
+        rm libeufin-sandbox.pid
     fi
     if test -f libeufin-nexus.pid
     then
         echo "Killing libeufin nexus"
-        kill `cat libeufin-nexus.pid 2> /dev/null` &> /dev/null || true
+        PID=`cat libeufin-nexus.pid 2> /dev/null`
+        kill $PID || true
+        wait $PID
+        rm libeufin-nexus.pid
     fi
+    echo "killing libeufin DONE"
 }
 
 # Cleanup exchange and libeufin between runs.
@@ -84,12 +91,10 @@ function cleanup()
         echo -n "Stopping exchange $EPID..."
         kill -TERM $EPID
         wait $EPID
-        echo " DONE"
+        echo "DONE"
         unset EPID
     fi
-
     stop_libeufin
-    echo DONE
 }
 
 # Cleanup to run whenever we exit
@@ -324,7 +329,8 @@ function full_reload()
     createdb -T template0 $DB || exit_skip "could not create database $DB (at 
$PGHOST)"
     # Import pre-generated database, -q(ietly) using single (-1) transaction
     psql -Aqt $DB -q -1 -f ${BASEDB}.sql > /dev/null || exit_skip "Failed to 
load database $DB from ${BASEDB}.sql"
-    echo "Loading libeufin basedb: ${BASEDB}-libeufin.sql"
+    echo "DONE"
+    echo -n "Loading libeufin basedb: ${BASEDB}-libeufin.sql"
     sqlite3 $DB.sqlite3 < ${BASEDB}-libeufin.sql || exit_skip "Failed to load 
libEufin database"
     echo "DONE"
 }
@@ -2037,7 +2043,6 @@ echo "Testing for pdflatex"
 which pdflatex > /dev/null </dev/null || exit_skip "pdflatex required"
 echo "Testing for taler-wallet-cli"
 taler-wallet-cli -h >/dev/null </dev/null 2>/dev/null || exit_skip 
"taler-wallet-cli required"
-MYDIR=`mktemp -d /tmp/taler-auditor-basedbXXXXXX`
 
 
 echo -n "Testing for Postgres"
@@ -2072,11 +2077,11 @@ echo " DONE"
 PGHOST="$TMPDIR/sockets"
 export PGHOST
 
-
+MYDIR=`mktemp -d /tmp/taler-auditor-basedbXXXXXX`
 echo "Generating fresh database at $MYDIR"
-if faketime -f '-1 d' ./generate-auditor-basedb.sh $MYDIR/auditor-basedb
+if faketime -f '-1 d' ./generate-auditor-basedb.sh $MYDIR/$DB
 then
-    check_with_database $MYDIR/auditor-basedb
+    check_with_database $MYDIR/$DB
     if test x$fail != x0
     then
         exit $fail
diff --git a/src/auditor/test-revocation.sh b/src/auditor/test-revocation.sh
index fcffd05b..01158534 100755
--- a/src/auditor/test-revocation.sh
+++ b/src/auditor/test-revocation.sh
@@ -54,33 +54,63 @@ function exit_fail() {
     exit 1
 }
 
+function stop_libeufin()
+{
+    echo "killing libeufin..."
+    if test -f libeufin-sandbox.pid
+    then
+        echo "Killing libeufin sandbox"
+        PID=`cat libeufin-sandbox.pid 2> /dev/null`
+        kill $PID || true
+        wait $PID 
+        rm libeufin-sandbox.pid
+    fi
+    if test -f libeufin-nexus.pid
+    then
+        echo "Killing libeufin nexus"
+        PID=`cat libeufin-nexus.pid 2> /dev/null`
+        kill $PID || true
+        wait $PID 
+        rm libeufin-nexus.pid
+    fi
+    echo "killing libeufin DONE"
+}
+
+
 # Cleanup to run whenever we exit
 function cleanup()
 {
+    if test ! -z ${EPID:-}
+    then
+        echo -n "Stopping exchange $EPID..."
+        kill -TERM $EPID
+        wait $EPID
+        echo " DONE"
+        unset EPID
+    fi
+    stop_libeufin
+}
+
+# Cleanup to run whenever we exit
+function exit_cleanup()
+{
+    echo "Running exit-cleanup"
     if test ! -z ${POSTGRES_PATH:-}
     then
+        echo "Stopping Postgres at ${POSTGRES_PATH}"
         ${POSTGRES_PATH}/pg_ctl -D $TMPDIR -l /dev/null stop &> /dev/null || 
true
     fi
+    cleanup
     for n in `jobs -p`
     do
         kill $n 2> /dev/null || true
     done
     wait
-    if test -f libeufin-sandbox.pid
-    then
-        echo "Killing libeufin sandbox"
-        kill `cat libeufin-sandbox.pid 2> /dev/null` &> /dev/null || true
-    fi
-    if test -f libeufin-nexus.pid
-    then
-        echo "Killing libeufin nexus"
-        kill `cat libeufin-nexus.pid 2> /dev/null` &> /dev/null || true
-    fi
-    rm -f libeufin-sandbox.pid libeufin-nexus.pid
+    echo "DONE"
 }
 
 # Install cleanup handler (except for kill -9)
-trap cleanup EXIT
+trap exit_cleanup EXIT
 
 # Downloads new transactions from the bank.
 function nexus_fetch_transactions () {
@@ -214,10 +244,8 @@ function audit_only () {
 
 # Cleanup to run after the auditor
 function post_audit () {
-    echo -n "Cleanup ..."
     cleanup
-    echo " DONE"
-    echo -n "TeXing ."
+     echo -n "TeXing ."
     taler-helper-auditor-render.py test-audit-aggregation.json 
test-audit-coins.json test-audit-deposits.json test-audit-reserves.json 
test-audit-wire.json < ../../contrib/auditor-report.tex.j2 > test-report.tex || 
exit_fail "Renderer failed"
 
     echo -n "."
@@ -246,9 +274,11 @@ function full_reload()
     echo -n "Doing full reload of the database... "
     dropdb $DB 2> /dev/null || true
     rm -f $DB.sqlite3 || true # libeufin
-    createdb -T template0 $DB || exit_skip "could not create database"
+    createdb -T template0 $DB || exit_skip "could not create database $DB (at 
$PGHOST)"
     # Import pre-generated database, -q(ietly) using single (-1) transaction
-    psql -Aqt $DB -q -1 -f ${BASEDB}.sql > /dev/null || exit_skip "Failed to 
load database"
+    psql -Aqt $DB -q -1 -f ${BASEDB}.sql > /dev/null || exit_skip "Failed to 
load database $DB from ${BASEDB}.sql"
+    echo "DONE"
+    echo "Loading libeufin basedb: ${BASEDB}-libeufin.sql"
     sqlite3 $DB.sqlite3 < ${BASEDB}-libeufin.sql || exit_skip "Failed to load 
libEufin database"
     echo "DONE"
     # Exchange payto URI contains the (dynamically generated)
@@ -584,8 +614,9 @@ function check_with_database()
 # *************** Main logic starts here **************
 
 # ####### Setup globals ######
-# Postgres database to use (must match revoke-basedb.conf)
-DB=taler-auditor-test
+# Postgres database to use
+DB=revoke-basedb
+
 
 # test required commands exist
 echo "Testing for jq"
@@ -633,9 +664,9 @@ export PGHOST
 
 MYDIR=`mktemp -d /tmp/taler-auditor-basedbXXXXXX`
 echo "Generating fresh database at $MYDIR"
-if faketime -f '-1 d' ./generate-revoke-basedb.sh $MYDIR/revoke-basedb
+if faketime -f '-1 d' ./generate-revoke-basedb.sh $MYDIR/$DB
 then
-    check_with_database $MYDIR/revoke-basedb
+    check_with_database $MYDIR/$DB
     if test x$fail != x0
     then
         exit $fail

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