fixed PY-2976 Django test runner doesn't work.

This commit is contained in:
Ekaterina Tuzova
2011-02-24 13:12:27 +03:00
parent 11aedbd528
commit 17b0dbb7c8
+1 -45
View File
@@ -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.