From 28bd4567a76a45246904e618b90d2ff09e2cbaef Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Mon, 11 Dec 2017 08:08:47 -0600 Subject: [PATCH] switch to py.test + pytest-cov --- .travis.yml | 2 +- requirements-test.txt | 2 ++ runtests.py | 41 ----------------------------------------- setup.cfg | 4 ++++ tests/settings.py | 10 ++++++++++ tox.ini | 7 +++++-- 6 files changed, 22 insertions(+), 44 deletions(-) create mode 100644 requirements-test.txt delete mode 100755 runtests.py create mode 100644 tests/settings.py diff --git a/.travis.yml b/.travis.yml index ccb420d..fb7ce1d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -55,6 +55,6 @@ install: - if [[ $TRAVIS_PYTHON_VERSION == '3.5' ]]; then export PYVER=py35; fi - if [[ $TRAVIS_PYTHON_VERSION == '3.6' ]]; then export PYVER=py36; fi -script: COMMAND='coverage run' tox -e$TOXENV +script: tox -e$TOXENV -- --cov # positional args ({posargs}) to pass into tox.ini after_success: codecov diff --git a/requirements-test.txt b/requirements-test.txt new file mode 100644 index 0000000..493f267 --- /dev/null +++ b/requirements-test.txt @@ -0,0 +1,2 @@ +pytest==3.3.1 +pytest-django==3.1.2 diff --git a/runtests.py b/runtests.py deleted file mode 100755 index 74c8619..0000000 --- a/runtests.py +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env python - -import os, sys - -from django.conf import settings -import django - -DEFAULT_SETTINGS = dict( - INSTALLED_APPS=( - 'model_utils', - 'tests', - ), - DATABASES={ - "default": { - "ENGINE": "django.db.backends.sqlite3" - } - }, - SILENCED_SYSTEM_CHECKS=["1_7.W001"], -) - - -def runtests(): - if not settings.configured: - settings.configure(**DEFAULT_SETTINGS) - - django.setup() - - parent = os.path.dirname(os.path.abspath(__file__)) - sys.path.insert(0, parent) - - from django.test.runner import DiscoverRunner - runner_class = DiscoverRunner - test_args = ['tests'] - - failures = runner_class( - verbosity=1, interactive=True, failfast=False).run_tests(test_args) - sys.exit(failures) - - -if __name__ == '__main__': - runtests() diff --git a/setup.cfg b/setup.cfg index 7d5a6f7..6058f77 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,5 +3,9 @@ source-dir = docs/ build-dir = docs/_build all_files = 1 +[tool:pytest] +django_find_project = false +DJANGO_SETTINGS_MODULE = tests.settings + [wheel] universal = 1 diff --git a/tests/settings.py b/tests/settings.py new file mode 100644 index 0000000..8817e83 --- /dev/null +++ b/tests/settings.py @@ -0,0 +1,10 @@ +INSTALLED_APPS = ( + 'model_utils', + 'tests', +) +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3' + } +} +SECRET_KEY = 'dummy' diff --git a/tox.ini b/tox.ini index 91fb3a0..83fa7b2 100644 --- a/tox.ini +++ b/tox.ini @@ -7,7 +7,6 @@ envlist = [testenv] deps = - coverage == 3.6 django18: Django>=1.8,<1.9 django19: Django>=1.9,<1.10 django110: Django>=1.10,<1.11 @@ -15,5 +14,9 @@ deps = django200: Django>=2.0,<2.1 djangotrunk: https://github.com/django/django/tarball/master freezegun == 0.3.8 + -rrequirements-test.txt + pytest-cov -commands = {env:COMMAND:python} runtests.py +commands = + pip install -e . + py.test {posargs}