diff --git a/.travis.yml b/.travis.yml index c5cef80..6dcf7f8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,12 @@ env: - TOXENV=py35-djangomaster - TOXENV=py36-django111 - TOXENV=py36-djangomaster + # XXX: Use a matrix to build these? + - TOXENV=py36-django111-postgres DB=postgres + - TOXENV=py36-djangomaster-postgres DB=postgres + +services: + - postgres matrix: fast_finish: true @@ -40,6 +46,10 @@ cache: - $HOME/.cache/pip - $TRAVIS_BUILD_DIR/.tox +before_install: +- psql -c 'CREATE DATABASE default;' -U postgres || true +- psql -c 'CREATE DATABASE secondary;' -U postgres || true + install: - pip install --upgrade pip wheel setuptools - pip install codecov coverage tox diff --git a/runtests.py b/runtests.py index f0a1609..fd67216 100755 --- a/runtests.py +++ b/runtests.py @@ -2,6 +2,7 @@ import sys from os.path import abspath, dirname +import dj_database_url import django from django.conf import settings from django.core.management import execute_from_command_line @@ -18,14 +19,14 @@ if not settings.configured: settings.configure( DEBUG=False, DATABASES={ - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': ':memory:' - }, - 'secondary': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': ':memory:' - } + 'default': dj_database_url.config( + env='PRIMARY_DATABASE', + default='sqlite://:memory:', + ), + 'secondary': dj_database_url.config( + env='SECONDARY_DATABASE', + default='sqlite://:memory:', + ), }, TEST_RUNNER="django.test.runner.DiscoverRunner", INSTALLED_APPS=( diff --git a/tox.ini b/tox.ini index b6fc999..f8e95a8 100644 --- a/tox.ini +++ b/tox.ini @@ -9,11 +9,15 @@ envlist = [testenv] setenv = PYTHONWARNINGS = all + postgres: DEFAULT_DATABASE = postgres:///default + postgres: SECONDARY_DATABASE = postgres:///secondary deps = coverage + dj-database-url django110: Django >= 1.10, < 1.11 django111: Django >= 1.11, < 2.0 djangomaster: https://github.com/django/django/archive/master.tar.gz + postgres: psycopg2 commands = coverage run --source polymorphic runtests.py