diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-02-24 23:49:04 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-02-24 23:49:04 +0100 |
commit | 02227c8b97a7cfcc8be70c6cf26f440d091fd84b (patch) | |
tree | 586006282b0e06864c524dde7a75d4a226522007 | |
parent | c8350d1f74fa552b82e4827dae5253d24f672194 (diff) | |
download | deployment-02227c8b97a7cfcc8be70c6cf26f440d091fd84b.tar.gz deployment-02227c8b97a7cfcc8be70c6cf26f440d091fd84b.tar.bz2 deployment-02227c8b97a7cfcc8be70c6cf26f440d091fd84b.zip |
run tests with postgres DB
-rwxr-xr-x | buildbot/coverage.sh | 32 | ||||
-rw-r--r-- | buildbot/master.cfg | 90 | ||||
-rwxr-xr-x | buildbot/run-coverage-helper.sh | 23 | ||||
-rwxr-xr-x | buildbot/with-postgres.sh | 24 |
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 |