Make test runner multi-DB-aware

- Legacy-Id: 3786
This commit is contained in:
Ole Laursen 2011-12-23 13:15:27 +00:00
parent aaee353493
commit 9ae5f6a456
2 changed files with 8 additions and 7 deletions

View file

@ -47,16 +47,16 @@ def safe_create_1(self, verbosity, *args, **kwargs):
global test_database_name, old_create
print " Creating test database..."
x = old_create(self, 0, *args, **kwargs)
print " Saving test database name "+settings.DATABASE_NAME+"..."
test_database_name = settings.DATABASE_NAME
print " Saving test database name "+settings.DATABASES["default"]["NAME"]+"..."
test_database_name = settings.DATABASES["default"]["NAME"]
return x
def safe_destroy_0_1(*args, **kwargs):
global test_database_name, old_destroy
print " Checking that it's safe to destroy test database..."
if settings.DATABASE_NAME != test_database_name:
print " NOT SAFE; Changing settings.DATABASE_NAME from "+settings.DATABASE_NAME+" to "+test_database_name
settings.DATABASE_NAME = test_database_name
if settings.DATABASES["default"]["NAME"] != test_database_name:
print ' NOT SAFE; Changing settings.DATABASES["default"]["NAME"] from %s to %s' % (settings.DATABASES["default"]["NAME"], test_database_name)
settings.DATABASES["default"]["NAME"] = test_database_name
return old_destroy(*args, **kwargs)
def template_coverage_loader(template_name, dirs):

View file

@ -44,13 +44,14 @@ from datetime import datetime
import urllib2 as urllib
from difflib import unified_diff
real_database_name = ietf.settings.DATABASES["default"]["NAME"]
import traceback
class RealDatabaseTest:
def setUpRealDatabase(self):
self._original_testdb = self._getDatabaseName()
newdb = ietf.settings.DATABASE_NAME
newdb = real_database_name
print " Switching database from "+self._original_testdb+" to "+newdb
self._setDatabaseName(newdb)
@ -64,7 +65,7 @@ class RealDatabaseTest:
def _setDatabaseName(self, name):
connection.close()
django.conf.settings.DATABASE_NAME = name
django.conf.settings.DATABASES["default"]["NAME"] = name
connection.settings_dict['NAME'] = name
connection.cursor()