modernize runtests to fix app loading

fix_request_path_info
Diederik van der Boor 2014-09-22 15:15:17 +02:00
parent ff6b09e7c7
commit 263e569f4e
1 changed files with 38 additions and 44 deletions

View File

@ -1,10 +1,13 @@
#!/usr/bin/env python
import django
import os
import sys
from django.conf import settings
from django.core.management import execute_from_command_line
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
@ -14,47 +17,38 @@ sys.stderr.write('Using Django version {0} from {1}\n'.format(
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)
if not settings.configured:
settings.configure(
DEBUG = True,
TEMPLATE_DEBUG = True,
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',
),
MIDDLEWARE_CLASSES = (),
SITE_ID = 3,
)
# ---- app start
verbosity = 2 if '-v' in sys.argv else 1
def runtests():
argv = sys.argv[:1] + ['test', 'polymorphic', '--traceback'] + sys.argv[1:]
execute_from_command_line(argv)
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))
if __name__ == '__main__':
runtests()