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 #!/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.conf import settings, global_settings as default_settings
from django.core.management import call_command from django.core.management import call_command
from os.path import dirname, realpath from os.path import dirname, realpath
import django
import sys
import os
# Give feedback on used versions # 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__))) os.path.dirname(os.path.abspath(django.__file__)))
) )
if not settings.configured:
# Detect location and available modules settings.configure(
module_root = dirname(realpath(__file__)) DEBUG = True,
TEMPLATE_DEBUG = True,
# Inline settings file DATABASES = {
settings.configure( 'default': {
DEBUG = False, # will be False anyway by DjangoTestRunner. 'ENGINE': 'django.db.backends.sqlite3',
TEMPLATE_DEBUG = False, 'NAME': ':memory:'
DATABASES = { }
'default': { },
'ENGINE': 'django.db.backends.sqlite3', TEMPLATE_LOADERS = (
'NAME': ':memory:' 'django.template.loaders.app_directories.Loader',
} ),
}, TEMPLATE_CONTEXT_PROCESSORS = default_settings.TEMPLATE_CONTEXT_PROCESSORS + (
TEMPLATE_LOADERS = ( 'django.core.context_processors.request',
'django.template.loaders.app_directories.Loader', ),
), INSTALLED_APPS = (
TEMPLATE_CONTEXT_PROCESSORS = default_settings.TEMPLATE_CONTEXT_PROCESSORS + ( 'django.contrib.auth',
'django.core.context_processors.request', 'django.contrib.contenttypes',
), 'django.contrib.messages',
INSTALLED_APPS = ( 'django.contrib.sites',
'django.contrib.auth', 'django.contrib.admin',
'django.contrib.contenttypes', 'polymorphic',
'django.contrib.messages', ),
'django.contrib.sites', MIDDLEWARE_CLASSES = (),
'django.contrib.admin', SITE_ID = 3,
'polymorphic', )
),
SITE_ID = 3,
)
call_command('syncdb', verbosity=1, interactive=False)
# ---- app start def runtests():
verbosity = 2 if '-v' in sys.argv else 1 argv = sys.argv[:1] + ['test', 'polymorphic', '--traceback'] + sys.argv[1:]
execute_from_command_line(argv)
from django.test.utils import get_runner if __name__ == '__main__':
TestRunner = get_runner(settings) # DjangoTestSuiteRunner runtests()
runner = TestRunner(verbosity=verbosity, interactive=True, failfast=False)
failures = runner.run_tests(['polymorphic'])
if failures:
sys.exit(bool(failures))