summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-02-24 23:49:04 +0100
committerChristian Grothoff <christian@grothoff.org>2020-02-24 23:49:04 +0100
commit02227c8b97a7cfcc8be70c6cf26f440d091fd84b (patch)
tree586006282b0e06864c524dde7a75d4a226522007
parentc8350d1f74fa552b82e4827dae5253d24f672194 (diff)
downloaddeployment-02227c8b97a7cfcc8be70c6cf26f440d091fd84b.tar.gz
deployment-02227c8b97a7cfcc8be70c6cf26f440d091fd84b.tar.bz2
deployment-02227c8b97a7cfcc8be70c6cf26f440d091fd84b.zip
run tests with postgres DB
-rwxr-xr-xbuildbot/coverage.sh32
-rw-r--r--buildbot/master.cfg90
-rwxr-xr-xbuildbot/run-coverage-helper.sh23
-rwxr-xr-xbuildbot/with-postgres.sh24
4 files changed, 93 insertions, 76 deletions
diff --git a/buildbot/coverage.sh b/buildbot/coverage.sh
index 4e63e38..a861863 100755
--- a/buildbot/coverage.sh
+++ b/buildbot/coverage.sh
@@ -7,34 +7,4 @@ source "${HOME}/activate"
# Generate lcov configuration file
echo "geninfo_auto_base = 1" > ~/.lcovrc
-PG_VER=12
-PG_DIR=/usr/lib/postgresql/$PG_VER/bin
-
-# setup little postgres DB for us ...
-cd
-TMP_DB_DIR=`mktemp -d tmpXXXXXX`
-$PG_DIR/initdb -D $TMP_DB_DIR/ -A trust
-export PGPORT=5432
-export PGHOST=localhost
-$PG_DIR/pg_ctl -D $TMP_DB_DIR/ -o "-c unix_socket_directories=$HOME" -l logfile start
-$PG_DIR/createdb talercheck
-$PG_DIR/createdb synccheck
-$PG_DIR/createdb anastasischeck
-
-
-for codebase in merchant exchange sync ; do
- TOP="$HOME/sources/${codebase}/"
- REPORT_DIR="$HOME/sources/${codebase}/coverage_report"
- lcov --no-external --initial -d $TOP -z
- cd $TOP
- make check -k || true
- mkdir -p $REPORT_DIR
- lcov -d $TOP -c --no-external -o $REPORT_DIR/coverage.info
- lcov -r $REPORT_DIR/coverage.info **/test_* -o $REPORT_DIR/rcoverage.info
- genhtml --legend --title "GNU Taler coverage report" -o $REPORT_DIR $REPORT_DIR/rcoverage.info
- chmod a+rx -R $REPORT_DIR
-done
-
-cd
-$PG_DIR/pg_ctl -D $TMP_DB_DIR/ stop
-rm -rf $TMP_DB_DIR
+./with-postgres.sh ./run-coverage-helper.sh
diff --git a/buildbot/master.cfg b/buildbot/master.cfg
index c051c5d..d5631fa 100644
--- a/buildbot/master.cfg
+++ b/buildbot/master.cfg
@@ -312,7 +312,7 @@ def jailed_check(package,srcdir):
name="Test of " + srcdir + " in " + package,
description="Testing " + srcdir + " in " + package,
descriptionDone="Pass",
- command=["sudo", "/usr/local/bin/netjail.sh", "make", "check"],
+ command=["sudo", "/usr/local/bin/netjail.sh", "~/deployment/buildbot/with-postgres.sh", "make", "check"],
workdir="../../sources/" + package + "/src/" + srcdir
)
@@ -486,8 +486,8 @@ LINT_FACTORY.addStep(
)
)
-CHECKER_FACTORY = create_factory_with_deployment()
-CHECKER_FACTORY.addStep(
+INTEGRATIONTEST_FACTORY = create_factory_with_deployment()
+INTEGRATIONTEST_FACTORY.addStep(
ShellCommand(
name="remove old binaries",
description="removing binaries from previous runs",
@@ -496,7 +496,7 @@ CHECKER_FACTORY.addStep(
workdir="../.."
)
)
-CHECKER_FACTORY.addStep(
+INTEGRATIONTEST_FACTORY.addStep(
ShellCommand(
name="fetch gnunet.org sources",
description="fetching latest deployment repositories from git.gnunet.org",
@@ -505,7 +505,7 @@ CHECKER_FACTORY.addStep(
workdir="../../deployment/buildbot"
)
)
-CHECKER_FACTORY.addStep(
+INTEGRATIONTEST_FACTORY.addStep(
ShellCommand(
name="fetch taler.net sources",
description="fetching latest deployment repositories from git.taler.net",
@@ -514,8 +514,8 @@ CHECKER_FACTORY.addStep(
workdir="../../deployment/buildbot"
)
)
-CHECKER_FACTORY.addStep(git_step("git://git.taler.net/wallet-core.git"))
-CHECKER_FACTORY.addStep(
+INTEGRATIONTEST_FACTORY.addStep(git_step("git://git.taler.net/wallet-core.git"))
+INTEGRATIONTEST_FACTORY.addStep(
ShellCommand(
name="fetch",
description="Running yarn install of wallet",
@@ -524,7 +524,7 @@ CHECKER_FACTORY.addStep(
workdir="build/"
)
)
-CHECKER_FACTORY.addStep(
+INTEGRATIONTEST_FACTORY.addStep(
ShellCommand(
name="build",
description="Building other Taler components",
@@ -534,37 +534,37 @@ CHECKER_FACTORY.addStep(
haltOnFailure=False
)
)
-CHECKER_FACTORY.addStep(jailed_check ("libmicrohttpd", "microhttpd"))
-CHECKER_FACTORY.addStep(jailed_check ("libmicrohttpd", "testcurl"))
-CHECKER_FACTORY.addStep(jailed_check ("libmicrohttpd", "testzzuf"))
-CHECKER_FACTORY.addStep(jailed_check ("gnunet", "util"))
-CHECKER_FACTORY.addStep(jailed_check ("gnunet", "pq"))
-CHECKER_FACTORY.addStep(jailed_check ("gnunet", "curl"))
-CHECKER_FACTORY.addStep(jailed_check ("gnunet", "json"))
-CHECKER_FACTORY.addStep(jailed_check ("twister", "test"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "util"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "curl"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "mhd"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "pq"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "json"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "bank-lib"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "exchangedb"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "auditordb"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "exchange"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "auditor"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "lib"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "exchange-tools"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "testing"))
-CHECKER_FACTORY.addStep(jailed_check ("exchange", "benchmark"))
-CHECKER_FACTORY.addStep(jailed_check ("merchant", "backenddb"))
-CHECKER_FACTORY.addStep(jailed_check ("merchant", "backend"))
-CHECKER_FACTORY.addStep(jailed_check ("merchant", "lib"))
-CHECKER_FACTORY.addStep(jailed_check ("merchant", "merchant-tools"))
-CHECKER_FACTORY.addStep(jailed_check ("sync", "util"))
-CHECKER_FACTORY.addStep(jailed_check ("sync", "syncdb"))
-CHECKER_FACTORY.addStep(jailed_check ("sync", "sync"))
-CHECKER_FACTORY.addStep(jailed_check ("sync", "lib"))
-CHECKER_FACTORY.addStep(
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("libmicrohttpd", "microhttpd"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("libmicrohttpd", "testcurl"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("libmicrohttpd", "testzzuf"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("gnunet", "util"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("gnunet", "pq"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("gnunet", "curl"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("gnunet", "json"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("twister", "test"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "util"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "curl"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "mhd"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "pq"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "json"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "bank-lib"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "exchangedb"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "auditordb"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "exchange"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "auditor"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "lib"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "exchange-tools"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "testing"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("exchange", "benchmark"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("merchant", "backenddb"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("merchant", "backend"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("merchant", "lib"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("merchant", "merchant-tools"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("sync", "util"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("sync", "syncdb"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("sync", "sync"))
+INTEGRATIONTEST_FACTORY.addStep(jailed_check ("sync", "lib"))
+INTEGRATIONTEST_FACTORY.addStep(
ShellCommand(
name="bank check",
description="Testing Taler Python bank",
@@ -574,7 +574,7 @@ CHECKER_FACTORY.addStep(
haltOnFailure=False
)
)
-CHECKER_FACTORY.addStep(
+INTEGRATIONTEST_FACTORY.addStep(
ShellCommand(
name="wallet check",
description="Testing wallet-core",
@@ -586,7 +586,7 @@ CHECKER_FACTORY.addStep(
)
-# FIXME: CHECKER_FACTORY is incomplete at this time: we still need
+# FIXME: INTEGRATIONTEST_FACTORY is incomplete at this time: we still need
# to do the actual 'make check' steps (in a jail!)
@@ -750,8 +750,8 @@ SITES_FACTORY.addStep(
)
)
-DEMO_SERVICES_CHECKER_FACTORY = create_factory_with_deployment()
-DEMO_SERVICES_CHECKER_FACTORY.addStep(
+DEMO_SERVICES_INTEGRATIONTEST_FACTORY = create_factory_with_deployment()
+DEMO_SERVICES_INTEGRATIONTEST_FACTORY.addStep(
ShellCommand(
name="demo services checker",
description="Checking demo services are online",
@@ -788,7 +788,7 @@ LCOV_BUILDER = util.BuilderConfig(
CHECKER_BUILDER = util.BuilderConfig(
name="checker-builder",
workernames=["checker-worker"],
- factory=CHECKER_FACTORY
+ factory=INTEGRATIONTEST_FACTORY
)
AUDITOR_BUILDER_TEST = util.BuilderConfig(
@@ -818,7 +818,7 @@ TIP_RESERVE_TOPPER_BUILDER_TEST = util.BuilderConfig(
DEMO_SERVICES_CHECKER_BUILDER = util.BuilderConfig(
name="demo-services-checker-builder",
workernames="demo-worker",
- factory=DEMO_SERVICES_CHECKER_FACTORY
+ factory=DEMO_SERVICES_INTEGRATIONTEST_FACTORY
)
TEST_BUILDER = util.BuilderConfig(
diff --git a/buildbot/run-coverage-helper.sh b/buildbot/run-coverage-helper.sh
new file mode 100755
index 0000000..3b8933d
--- /dev/null
+++ b/buildbot/run-coverage-helper.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+# This file is in the public domain
+#
+# Helper script for coverage.sh
+
+set -eu
+
+ORIG=`pwd`
+
+for codebase in merchant exchange sync ; do
+ TOP="$HOME/sources/${codebase}/"
+ REPORT_DIR="$HOME/sources/${codebase}/coverage_report"
+ lcov --no-external --initial -d $TOP -z
+ cd $TOP
+ make check -k || true
+ mkdir -p $REPORT_DIR
+ lcov -d $TOP -c --no-external -o $REPORT_DIR/coverage.info
+ lcov -r $REPORT_DIR/coverage.info **/test_* -o $REPORT_DIR/rcoverage.info
+ genhtml --legend --title "GNU Taler coverage report" -o $REPORT_DIR $REPORT_DIR/rcoverage.info
+ chmod a+rx -R $REPORT_DIR
+done
+
+cd $ORIG
diff --git a/buildbot/with-postgres.sh b/buildbot/with-postgres.sh
new file mode 100755
index 0000000..a4552d9
--- /dev/null
+++ b/buildbot/with-postgres.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+# This file is in the public domain.
+
+# Runs the commands given at "$@" with a locally started postgres instance
+
+PG_VER=12
+PG_DIR=/usr/lib/postgresql/$PG_VER/bin
+
+# setup little postgres DB for us ...
+TMP_DB_DIR=`mktemp -d ~/tmpXXXXXX`
+$PG_DIR/initdb -D $TMP_DB_DIR/ -A trust
+export PGPORT=5432
+export PGHOST=localhost
+$PG_DIR/pg_ctl -D $TMP_DB_DIR/ -o "-c unix_socket_directories=$HOME" -l logfile start
+$PG_DIR/createdb talercheck
+$PG_DIR/createdb synccheck
+$PG_DIR/createdb anastasischeck
+
+# Run the commands
+"$@"
+
+# Stop postgres
+$PG_DIR/pg_ctl -D $TMP_DB_DIR/ stop
+rm -rf $TMP_DB_DIR