From 83f930332b7300486464e22dde0e698014f1c89c Mon Sep 17 00:00:00 2001 From: Jacob Kaplan-Moss Date: Sat, 4 Nov 2006 21:16:23 +0000 Subject: [PATCH] [boulder-oracle-sprint] django.test.utils now delegates to the backend for test database creation/deletion, if required git-svn-id: http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint@3984 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/test/utils.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/django/test/utils.py b/django/test/utils.py index 039a6dd7a2..ba564062d2 100644 --- a/django/test/utils.py +++ b/django/test/utils.py @@ -1,6 +1,6 @@ import sys, time from django.conf import settings -from django.db import connection, transaction, backend +from django.db import connection, transaction, backend, get_creation_module from django.dispatch import dispatcher from django.test import signals from django.template import Template @@ -43,6 +43,11 @@ def _set_autocommit(connection): connection.connection.set_isolation_level(0) def create_test_db(verbosity=1, autoclobber=False): + # If the database backend wants to create the test DB itself, let it + creation_module = get_creation_module() + if hasattr(creation_module, "create_test_db"): + creation_module.create_test_db(verbosity, autoclobber) + if verbosity >= 1: print "Creating test database..." # If we're using SQLite, it's more convenient to test against an @@ -89,6 +94,11 @@ def create_test_db(verbosity=1, autoclobber=False): cursor = connection.cursor() def destroy_test_db(old_database_name, verbosity=1): + # If the database wants to drop the test DB itself, let it + creation_module = get_creation_module() + if hasattr(creation_module, "destroy_test_db"): + creation_module.destroy_test_db(old_database_name, verbosity=1) + # Unless we're using SQLite, remove the test database to clean up after # ourselves. Connect to the previous database (not the test database) # to do so, because it's not allowed to delete a database while being