Code

Ticket #19940: setup_databases.patch

File setup_databases.patch, 2.3 KB (added by simonpercivall, 10 months ago)
  • django/test/simple.py

    diff --git a/django/test/simple.py b/django/test/simple.py
    index bf0219d..91df209 100644
    a b class DjangoTestSuiteRunner(object): 
    273273        mirrored_aliases = {} 
    274274        test_databases = {} 
    275275        dependencies = {} 
     276        default_sig = connections[DEFAULT_DB_ALIAS].creation.test_db_signature() 
    276277        for alias in connections: 
    277278            connection = connections[alias] 
    278279            if connection.settings_dict['TEST_MIRROR']: 
    class DjangoTestSuiteRunner(object): 
    294295                    dependencies[alias] = ( 
    295296                        connection.settings_dict['TEST_DEPENDENCIES']) 
    296297                else: 
    297                     if alias != DEFAULT_DB_ALIAS: 
     298                    if alias != DEFAULT_DB_ALIAS and not connection.creation.test_db_signature() == default_sig: 
    298299                        dependencies[alias] = connection.settings_dict.get( 
    299300                            'TEST_DEPENDENCIES', [DEFAULT_DB_ALIAS]) 
    300301 
  • tests/regressiontests/test_runner/tests.py

    diff --git a/tests/regressiontests/test_runner/tests.py b/tests/regressiontests/test_runner/tests.py
    index b5e4a1d..48a8e09 100644
    a b class DummyBackendTest(unittest.TestCase): 
    285285            db.connections = old_db_connections 
    286286 
    287287 
     288class AliasedDefaultTestSetupTest(unittest.TestCase): 
     289    def test_setup_aliased_default_database(self): 
     290        """ 
     291        Test that setup_datebases() doesn't fail when 'default' is aliased 
     292        """ 
     293        runner = DjangoTestSuiteRunner(verbosity=0) 
     294        old_db_connections = db.connections 
     295        try: 
     296            db.connections = db.ConnectionHandler({ 
     297                'default': { 
     298                    'NAME': 'dummy' 
     299                }, 
     300                'aliased': { 
     301                    'NAME': 'dummy' 
     302                } 
     303            }) 
     304            old_config = runner.setup_databases() 
     305            runner.teardown_databases(old_config) 
     306        except Exception as e: 
     307            self.fail("setup_databases/teardown_databases unexpectedly raised " 
     308                      "an error: %s" % e) 
     309        finally: 
     310            db.connections = old_db_connections 
     311 
     312 
    288313class DeprecationDisplayTest(AdminScriptTestCase): 
    289314    # tests for 19546 
    290315    def setUp(self):