diff options
Diffstat (limited to 'scripts/travis_test.sh')
-rwxr-xr-x | scripts/travis_test.sh | 70 |
1 files changed, 56 insertions, 14 deletions
diff --git a/scripts/travis_test.sh b/scripts/travis_test.sh index 0c60b93..5daa9ba 100755 --- a/scripts/travis_test.sh +++ b/scripts/travis_test.sh @@ -2,29 +2,71 @@ # Run the tests in all the databases # The script is designed for a Trusty environment. +# +# The variables TEST_PAST, TEST_FUTURE, DONT_TEST_PRESENT can be used to test +# against unsupported Postgres versions and skip tests with supported ones. +# +# The variables TEST_VERBOSE enables verbose test log. +# +# The variables can be set in the travis configuration +# (https://travis-ci.org/psycopg/psycopg2/settings) -set -e +set -e -x run_test () { - version=$1 - port=$2 - dbname=psycopg2_test + VERSION=$1 + DBNAME=psycopg2_test + if [[ -n "$TEST_VERBOSE" ]]; then + VERBOSE=--verbose + else + VERBOSE= + fi - printf "\n\nRunning tests against PostgreSQL $version\n\n" - export PSYCOPG2_TESTDB=$dbname + # Port number: 9.6 -> 50906 + port=$(( 50000 + $(echo $VERSION \ + | sed 's/\(.\+\)\.\(.\+\)/100 * \1 + \2/') )) + + printf "\n\nRunning tests against PostgreSQL $VERSION (port $port)\n\n" + export PSYCOPG2_TESTDB=$DBNAME + export PSYCOPG2_TESTDB_HOST=localhost export PSYCOPG2_TESTDB_PORT=$port export PSYCOPG2_TESTDB_USER=travis export PSYCOPG2_TEST_REPL_DSN= unset PSYCOPG2_TEST_GREEN - python -c "from psycopg2 import tests; tests.unittest.main(defaultTest='tests.test_suite')" + python -c \ + "from psycopg2 import tests; tests.unittest.main(defaultTest='tests.test_suite')" \ + $VERBOSE - printf "\n\nRunning tests against PostgreSQL $version (green mode)\n\n" + printf "\n\nRunning tests against PostgreSQL $VERSION (green mode)\n\n" export PSYCOPG2_TEST_GREEN=1 - python -c "from psycopg2 import tests; tests.unittest.main(defaultTest='tests.test_suite')" + python -c \ + "from psycopg2 import tests; tests.unittest.main(defaultTest='tests.test_suite')" \ + $VERBOSE } -run_test 9.6 54396 -run_test 9.5 54395 -run_test 9.4 54394 -run_test 9.3 54393 -run_test 9.2 54392 +# Postgres versions supported by Travis CI +if [[ -z "$DONT_TEST_PRESENT" ]]; then + run_test 9.6 + run_test 9.5 + run_test 9.4 + run_test 9.3 + run_test 9.2 +fi + +# Unsupported postgres versions that we still support +# Images built by https://github.com/psycopg/psycopg2-wheels/tree/build-dinosaurs +if [[ -n "$TEST_PAST" ]]; then + run_test 7.4 + run_test 8.0 + run_test 8.1 + run_test 8.2 + run_test 8.3 + run_test 8.4 + run_test 9.0 + run_test 9.1 +fi + +# Postgres built from master +if [[ -n "$TEST_FUTURE" ]]; then + run_test 10.0 +fi |