mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fixed PY-2976 Django test runner doesn't work.
This commit is contained in:
@@ -7,7 +7,7 @@ import django
|
||||
import sys
|
||||
|
||||
try:
|
||||
from django.test.simple import DjangoTestSuiteRunner, dependency_ordered
|
||||
from django.test.simple import DjangoTestSuiteRunner
|
||||
class BaseRunner(TeamcityTestRunner, DjangoTestSuiteRunner):
|
||||
def __init__(self, stream=sys.stdout):
|
||||
TeamcityTestRunner.__init__(self,stream)
|
||||
@@ -25,50 +25,6 @@ class DjangoTeamcityTestRunner(BaseRunner):
|
||||
def run_suite(self, suite):
|
||||
return TeamcityTestRunner().run(suite)
|
||||
|
||||
def setup_databases(self, **kwargs):
|
||||
from django.db import connections, DEFAULT_DB_ALIAS
|
||||
mirrored_aliases = {}
|
||||
test_databases = {}
|
||||
dependencies = {}
|
||||
for alias in connections:
|
||||
connection = connections[alias]
|
||||
if connection.settings_dict['TEST_MIRROR']:
|
||||
mirrored_aliases[alias] = connection.settings_dict['TEST_MIRROR']
|
||||
else:
|
||||
test_databases.setdefault((
|
||||
connection.settings_dict['HOST'],
|
||||
connection.settings_dict['PORT'],
|
||||
connection.settings_dict['ENGINE'],
|
||||
connection.settings_dict['NAME'],
|
||||
), []).append(alias)
|
||||
|
||||
if 'TEST_DEPENDENCIES' in connection.settings_dict:
|
||||
dependencies[alias] = connection.settings_dict['TEST_DEPENDENCIES']
|
||||
else:
|
||||
if alias != 'default':
|
||||
dependencies[alias] = connection.settings_dict.get('TEST_DEPENDENCIES', ['default'])
|
||||
|
||||
old_names = []
|
||||
mirrors = []
|
||||
for (host, port, engine, db_name), aliases in dependency_ordered(test_databases.items(), dependencies):
|
||||
connection = connections[aliases[0]]
|
||||
old_names.append((connection, db_name, True))
|
||||
test_db_name = connection.creation.create_test_db(self.verbosity, autoclobber=True)
|
||||
for alias in aliases[1:]:
|
||||
connection = connections[alias]
|
||||
if db_name:
|
||||
old_names.append((connection, db_name, False))
|
||||
connection.settings_dict['NAME'] = test_db_name
|
||||
else:
|
||||
old_names.append((connection, db_name, True))
|
||||
connection.creation.create_test_db(self.verbosity, autoclobber=True)
|
||||
|
||||
for alias, mirror_alias in mirrored_aliases.items():
|
||||
mirrors.append((alias, connections[alias].settings_dict['NAME']))
|
||||
connections[alias].settings_dict['NAME'] = connections[mirror_alias].settings_dict['NAME']
|
||||
|
||||
return old_names, mirrors
|
||||
|
||||
def partition_suite(suite, classes, bins):
|
||||
"""
|
||||
Partitions a test suite by test type.
|
||||
|
||||
Reference in New Issue
Block a user