diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..46a2793 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,22 @@ +language: python +python: + - "3.6" +env: + - DJANGO="Django>=2.0,<2.1" +matrix: + include: + - env: DJANGO="Django>=2.0,<2.1" + - env: DJANGO="Django>=1.11,<1.12" + - env: DJANGO="Django>=1.10,<1.11" + - env: DJANGO="Django>=1.9,<1.10" + - env: DJANGO="Django>=1.8,<1.9" + - python: "3.5" + - python: "3.4" + - python: "2.7" + env: DJANGO="Django>=1.11,<1.12" +install: + - pip install --upgrade -q pip setuptools + - pip install -q $DJANGO + - pip install -e . +script: + - ./runtests.py diff --git a/runtests.py b/runtests.py new file mode 100755 index 0000000..cca2e5c --- /dev/null +++ b/runtests.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python +import os +import sys + +import django +from django.conf import settings +from django.core.management import call_command + + +def runtests(): + if not settings.configured: + # Choose database for settings + DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': ':memory:' + } + } + + # Configure test environment + settings.configure( + DATABASES=DATABASES, + INSTALLED_APPS=( + 'django.contrib.contenttypes', + 'django.contrib.auth', + 'django.contrib.sites', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.admin.apps.SimpleAdminConfig', + 'django.contrib.staticfiles', + + 'sameas', + ), + ROOT_URLCONF='', # tests override urlconf, but it still needs to be defined + 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', + ), + TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, + ], + ) + + if django.VERSION >= (1, 7): + django.setup() + failures = call_command( + 'test', 'sameas', interactive=False, failfast=False, verbosity=2) + + sys.exit(bool(failures)) + + +if __name__ == '__main__': + runtests() +