Add runtests script

Allow `python setup.py test` too.
Fix tox invocation now that `manage.py` has moved.
fix_request_path_info
Diederik van der Boor 2013-04-05 09:50:58 +02:00
parent e7a2340723
commit 1df5b5ff03
4 changed files with 63 additions and 1 deletions

1
.gitignore vendored
View File

@ -36,3 +36,4 @@ lib/
MANIFEST MANIFEST
dist/ dist/
*.egg-info *.egg-info
.tox/

60
runtests.py 100755
View File

@ -0,0 +1,60 @@
#!/usr/bin/env python
from django.conf import settings, global_settings as default_settings
from django.core.management import call_command
from os.path import dirname, realpath
import django
import sys
import os
# Give feedback on used versions
sys.stderr.write('Using Python version {0} from {1}\n'.format(sys.version[:5], sys.executable))
sys.stderr.write('Using Django version {0} from {1}\n'.format(
django.get_version(),
os.path.dirname(os.path.abspath(django.__file__)))
)
# Detect location and available modules
module_root = dirname(realpath(__file__))
# Inline settings file
settings.configure(
DEBUG = False, # will be False anyway by DjangoTestRunner.
TEMPLATE_DEBUG = False,
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': ':memory:'
}
},
TEMPLATE_LOADERS = (
'django.template.loaders.app_directories.Loader',
),
TEMPLATE_CONTEXT_PROCESSORS = default_settings.TEMPLATE_CONTEXT_PROCESSORS + (
'django.core.context_processors.request',
),
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.messages',
'django.contrib.sites',
'django.contrib.admin',
'polymorphic',
),
SITE_ID = 3,
)
call_command('syncdb', verbosity=1, interactive=False)
# ---- app start
verbosity = 2 if '-v' in sys.argv else 1
from django.test.utils import get_runner
TestRunner = get_runner(settings) # DjangoTestSuiteRunner
runner = TestRunner(verbosity=verbosity, interactive=True, failfast=False)
failures = runner.run_tests(['polymorphic'])
if failures:
sys.exit(bool(failures))

View File

@ -20,6 +20,7 @@ setup(
}, },
install_requires=['setuptools'], install_requires=['setuptools'],
test_suite='runtests',
classifiers=[ classifiers=[
'Framework :: Django', 'Framework :: Django',

View File

@ -7,7 +7,7 @@ envlist=
[testenv] [testenv]
commands= commands=
python manage.py test python runtests.py
# Build configurations # Build configurations