tests: upgrade quicktest.py + improve travis configuration
This commit is contained in:
31
.travis.yml
31
.travis.yml
@@ -1,19 +1,42 @@
|
|||||||
language: python
|
language: python
|
||||||
|
|
||||||
python:
|
python:
|
||||||
- "2.7"
|
- 2.6
|
||||||
|
- 2.7
|
||||||
|
- 3.2
|
||||||
|
- 3.3
|
||||||
|
- 3.4
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- DJANGO_VERSION=1.4
|
- DJANGO_VERSION=1.4 MODULE=jsignature
|
||||||
- DJANGO_VERSION=1.5
|
- DJANGO_VERSION=1.5 MODULE=jsignature
|
||||||
|
- DJANGO_VERSION=1.6 MODULE=jsignature.tests
|
||||||
|
- DJANGO_VERSION=1.7 MODULE=jsignature.tests
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- pip install -r requirements.txt --use-mirrors
|
- pip install -r requirements.txt --use-mirrors
|
||||||
- pip install -q Django==$DJANGO_VERSION --use-mirrors
|
- pip install -q Django==$DJANGO_VERSION --use-mirrors
|
||||||
- pip install coverage
|
- pip install coverage
|
||||||
|
|
||||||
script: coverage run quicktest.py jsignature
|
script: coverage run quicktest.py $MODULE
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
- pip install coveralls
|
- pip install coveralls
|
||||||
- coveralls
|
- coveralls
|
||||||
|
|
||||||
|
# We need to exclude old versions of Django for tests with python 3.
|
||||||
|
# We need to exclude old versions of Python for tests with Django >= 1.7.
|
||||||
|
matrix:
|
||||||
|
exclude:
|
||||||
|
- python: 3.2
|
||||||
|
env: DJANGO_VERSION=1.4
|
||||||
|
- python: 3.3
|
||||||
|
env: DJANGO_VERSION=1.4
|
||||||
|
- python: 3.4
|
||||||
|
env: DJANGO_VERSION=1.4
|
||||||
|
- python: 3.4
|
||||||
|
env: DJANGO_VERSION=1.5
|
||||||
|
- python: 3.4
|
||||||
|
env: DJANGO_VERSION=1.6
|
||||||
|
- python: 2.6
|
||||||
|
env: DJANGO_VERSION=1.7
|
||||||
|
|||||||
32
quicktest.py
32
quicktest.py
@@ -3,6 +3,7 @@ import sys
|
|||||||
import argparse
|
import argparse
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
|
|
||||||
class QuickDjangoTest(object):
|
class QuickDjangoTest(object):
|
||||||
"""
|
"""
|
||||||
A quick way to run the Django test suite without a fully-configured project.
|
A quick way to run the Django test suite without a fully-configured project.
|
||||||
@@ -16,8 +17,6 @@ class QuickDjangoTest(object):
|
|||||||
"""
|
"""
|
||||||
DIRNAME = os.path.dirname(__file__)
|
DIRNAME = os.path.dirname(__file__)
|
||||||
INSTALLED_APPS = (
|
INSTALLED_APPS = (
|
||||||
'django.contrib.contenttypes',
|
|
||||||
'django.contrib.sessions',
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
@@ -29,7 +28,10 @@ class QuickDjangoTest(object):
|
|||||||
Fire up the Django test suite developed for version 1.2
|
Fire up the Django test suite developed for version 1.2
|
||||||
"""
|
"""
|
||||||
settings.configure(
|
settings.configure(
|
||||||
DATABASES={
|
TEMPLATE_DIRS = ('jsignature/templates/',),
|
||||||
|
ROOT_URLCONF = 'jsignature.tests',
|
||||||
|
DEBUG = True,
|
||||||
|
DATABASES = {
|
||||||
'default': {
|
'default': {
|
||||||
'ENGINE': 'django.db.backends.sqlite3',
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
'NAME': os.path.join(self.DIRNAME, 'database.db'),
|
'NAME': os.path.join(self.DIRNAME, 'database.db'),
|
||||||
@@ -39,11 +41,27 @@ class QuickDjangoTest(object):
|
|||||||
'PORT': '',
|
'PORT': '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
INSTALLED_APPS=self.INSTALLED_APPS + self.apps,
|
MIDDLEWARE_CLASSES = (
|
||||||
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||||
|
'django.middleware.common.CommonMiddleware',
|
||||||
|
'django.middleware.csrf.CsrfViewMiddleware',
|
||||||
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
|
),
|
||||||
|
INSTALLED_APPS = self.INSTALLED_APPS + self.apps
|
||||||
)
|
)
|
||||||
from django.test.simple import DjangoTestSuiteRunner
|
# Setup is needed for Django >= 1.7
|
||||||
failures = DjangoTestSuiteRunner().run_tests(self.apps, verbosity=1)
|
import django
|
||||||
if failures: # pragma: no cover
|
if hasattr(django, 'setup'):
|
||||||
|
django.setup()
|
||||||
|
try:
|
||||||
|
from django.test.runner import DiscoverRunner
|
||||||
|
failures = DiscoverRunner().run_tests(self.apps, verbosity=1)
|
||||||
|
except ImportError:
|
||||||
|
# DjangoTestSuiteRunner has been deprecated in Django 1.7
|
||||||
|
from django.test.simple import DjangoTestSuiteRunner
|
||||||
|
failures = DjangoTestSuiteRunner().run_tests(self.apps, verbosity=1)
|
||||||
|
if failures: # pragma: no cover
|
||||||
sys.exit(failures)
|
sys.exit(failures)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
Reference in New Issue
Block a user