Fixed #19940 -- Made test.runner.setup_databases properly handle aliases for default db.
Thanks simonpercivall.
This commit is contained in:
parent
da5069f68f
commit
2cbd579efe
|
@ -238,6 +238,7 @@ def setup_databases(verbosity, interactive, **kwargs):
|
||||||
mirrored_aliases = {}
|
mirrored_aliases = {}
|
||||||
test_databases = {}
|
test_databases = {}
|
||||||
dependencies = {}
|
dependencies = {}
|
||||||
|
default_sig = connections[DEFAULT_DB_ALIAS].creation.test_db_signature()
|
||||||
for alias in connections:
|
for alias in connections:
|
||||||
connection = connections[alias]
|
connection = connections[alias]
|
||||||
if connection.settings_dict['TEST_MIRROR']:
|
if connection.settings_dict['TEST_MIRROR']:
|
||||||
|
@ -259,7 +260,7 @@ def setup_databases(verbosity, interactive, **kwargs):
|
||||||
dependencies[alias] = (
|
dependencies[alias] = (
|
||||||
connection.settings_dict['TEST_DEPENDENCIES'])
|
connection.settings_dict['TEST_DEPENDENCIES'])
|
||||||
else:
|
else:
|
||||||
if alias != DEFAULT_DB_ALIAS:
|
if alias != DEFAULT_DB_ALIAS and connection.creation.test_db_signature() != default_sig:
|
||||||
dependencies[alias] = connection.settings_dict.get(
|
dependencies[alias] = connection.settings_dict.get(
|
||||||
'TEST_DEPENDENCIES', [DEFAULT_DB_ALIAS])
|
'TEST_DEPENDENCIES', [DEFAULT_DB_ALIAS])
|
||||||
|
|
||||||
|
|
|
@ -291,6 +291,31 @@ class DummyBackendTest(unittest.TestCase):
|
||||||
db.connections = old_db_connections
|
db.connections = old_db_connections
|
||||||
|
|
||||||
|
|
||||||
|
class AliasedDefaultTestSetupTest(unittest.TestCase):
|
||||||
|
def test_setup_aliased_default_database(self):
|
||||||
|
"""
|
||||||
|
Test that setup_datebases() doesn't fail when 'default' is aliased
|
||||||
|
"""
|
||||||
|
runner_instance = runner.DiscoverRunner(verbosity=0)
|
||||||
|
old_db_connections = db.connections
|
||||||
|
try:
|
||||||
|
db.connections = db.ConnectionHandler({
|
||||||
|
'default': {
|
||||||
|
'NAME': 'dummy'
|
||||||
|
},
|
||||||
|
'aliased': {
|
||||||
|
'NAME': 'dummy'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
old_config = runner_instance.setup_databases()
|
||||||
|
runner_instance.teardown_databases(old_config)
|
||||||
|
except Exception as e:
|
||||||
|
self.fail("setup_databases/teardown_databases unexpectedly raised "
|
||||||
|
"an error: %s" % e)
|
||||||
|
finally:
|
||||||
|
db.connections = old_db_connections
|
||||||
|
|
||||||
|
|
||||||
class DeprecationDisplayTest(AdminScriptTestCase):
|
class DeprecationDisplayTest(AdminScriptTestCase):
|
||||||
# tests for 19546
|
# tests for 19546
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
|
Loading…
Reference in New Issue