Loading AUTHORS +1 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,7 @@ answer newbie questions, and generally made Django that much better: Antonio Cavedoni <http://cavedoni.com/> cedric@terramater.net Chris Chamberlin <dja@cdc.msbx.net> Greg Chapple <gregchapple1@gmail.com> Amit Chakradeo <http://amit.chakradeo.net/> ChaosKCW Kowito Charoenratchatabhan <kowito@felspar.com> Loading django/db/backends/creation.py +10 −4 Original line number Diff line number Diff line Loading @@ -449,7 +449,7 @@ class BaseDatabaseCreation(object): return test_database_name def destroy_test_db(self, old_database_name, verbosity=1): def destroy_test_db(self, old_database_name, verbosity=1, keepdb=False): """ Destroy a test database, prompting the user for confirmation if the database already exists. Loading @@ -458,11 +458,17 @@ class BaseDatabaseCreation(object): test_database_name = self.connection.settings_dict['NAME'] if verbosity >= 1: test_db_repr = '' action = 'Destroying' if verbosity >= 2: test_db_repr = " ('%s')" % test_database_name print("Destroying test database for alias '%s'%s..." % ( self.connection.alias, test_db_repr)) if keepdb: action = 'Preserving' print("%s test database for alias '%s'%s..." % ( action, self.connection.alias, test_db_repr)) # if we want to preserve the database # skip the actual destroying piece. if not keepdb: self._destroy_test_db(test_database_name, verbosity) def _destroy_test_db(self, test_database_name, verbosity): Loading django/test/runner.py +2 −2 Original line number Diff line number Diff line Loading @@ -124,8 +124,8 @@ class DiscoverRunner(object): """ old_names, mirrors = old_config for connection, old_name, destroy in old_names: if destroy and not self.keepdb: connection.creation.destroy_test_db(old_name, self.verbosity) if destroy: connection.creation.destroy_test_db(old_name, self.verbosity, self.keepdb) def teardown_test_environment(self, **kwargs): unittest.removeHandler() Loading docs/topics/testing/advanced.txt +11 −2 Original line number Diff line number Diff line Loading @@ -485,7 +485,7 @@ django.db.connection.creation The creation module of the database backend also provides some utilities that can be useful during testing. .. function:: create_test_db([verbosity=1, autoclobber=False]) .. function:: create_test_db([verbosity=1, autoclobber=False, keepdb=False]) Creates a new test database and runs ``migrate`` against it. Loading @@ -501,13 +501,19 @@ can be useful during testing. * If autoclobber is ``True``, the database will be destroyed without consulting the user. ``keepdb`` determines if the test run should use an existing database, or create a new one. If ``True``, the existing database will be used, or created if not present. If ``False``, a new database will be created, prompting the user to remove the existing one, if present. Returns the name of the test database that it created. ``create_test_db()`` has the side effect of modifying the value of :setting:`NAME` in :setting:`DATABASES` to match the name of the test database. .. function:: destroy_test_db(old_database_name, [verbosity=1]) .. function:: destroy_test_db(old_database_name, [verbosity=1, keepdb=False]) Destroys the database whose name is the value of :setting:`NAME` in :setting:`DATABASES`, and sets :setting:`NAME` to the value of Loading @@ -516,6 +522,9 @@ can be useful during testing. The ``verbosity`` argument has the same behavior as for :class:`~django.test.runner.DiscoverRunner`. If the ``keepdb`` argument is ``True``, then the connection to the database will be closed, but the database will not be destroyed. .. _topics-testing-code-coverage: Integration with coverage.py Loading tests/test_runner/tests.py +1 −1 Original line number Diff line number Diff line Loading @@ -309,7 +309,7 @@ class AliasedDatabaseTeardownTest(unittest.TestCase): old_create_test_db = DatabaseCreation.create_test_db try: destroyed_names = [] DatabaseCreation.destroy_test_db = lambda self, old_database_name, verbosity=1: destroyed_names.append(old_database_name) DatabaseCreation.destroy_test_db = lambda self, old_database_name, verbosity=1, keepdb=False: destroyed_names.append(old_database_name) DatabaseCreation.create_test_db = lambda self, verbosity=1, autoclobber=False, keepdb=False: self._get_test_db_name() db.connections = db.ConnectionHandler({ Loading Loading
AUTHORS +1 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,7 @@ answer newbie questions, and generally made Django that much better: Antonio Cavedoni <http://cavedoni.com/> cedric@terramater.net Chris Chamberlin <dja@cdc.msbx.net> Greg Chapple <gregchapple1@gmail.com> Amit Chakradeo <http://amit.chakradeo.net/> ChaosKCW Kowito Charoenratchatabhan <kowito@felspar.com> Loading
django/db/backends/creation.py +10 −4 Original line number Diff line number Diff line Loading @@ -449,7 +449,7 @@ class BaseDatabaseCreation(object): return test_database_name def destroy_test_db(self, old_database_name, verbosity=1): def destroy_test_db(self, old_database_name, verbosity=1, keepdb=False): """ Destroy a test database, prompting the user for confirmation if the database already exists. Loading @@ -458,11 +458,17 @@ class BaseDatabaseCreation(object): test_database_name = self.connection.settings_dict['NAME'] if verbosity >= 1: test_db_repr = '' action = 'Destroying' if verbosity >= 2: test_db_repr = " ('%s')" % test_database_name print("Destroying test database for alias '%s'%s..." % ( self.connection.alias, test_db_repr)) if keepdb: action = 'Preserving' print("%s test database for alias '%s'%s..." % ( action, self.connection.alias, test_db_repr)) # if we want to preserve the database # skip the actual destroying piece. if not keepdb: self._destroy_test_db(test_database_name, verbosity) def _destroy_test_db(self, test_database_name, verbosity): Loading
django/test/runner.py +2 −2 Original line number Diff line number Diff line Loading @@ -124,8 +124,8 @@ class DiscoverRunner(object): """ old_names, mirrors = old_config for connection, old_name, destroy in old_names: if destroy and not self.keepdb: connection.creation.destroy_test_db(old_name, self.verbosity) if destroy: connection.creation.destroy_test_db(old_name, self.verbosity, self.keepdb) def teardown_test_environment(self, **kwargs): unittest.removeHandler() Loading
docs/topics/testing/advanced.txt +11 −2 Original line number Diff line number Diff line Loading @@ -485,7 +485,7 @@ django.db.connection.creation The creation module of the database backend also provides some utilities that can be useful during testing. .. function:: create_test_db([verbosity=1, autoclobber=False]) .. function:: create_test_db([verbosity=1, autoclobber=False, keepdb=False]) Creates a new test database and runs ``migrate`` against it. Loading @@ -501,13 +501,19 @@ can be useful during testing. * If autoclobber is ``True``, the database will be destroyed without consulting the user. ``keepdb`` determines if the test run should use an existing database, or create a new one. If ``True``, the existing database will be used, or created if not present. If ``False``, a new database will be created, prompting the user to remove the existing one, if present. Returns the name of the test database that it created. ``create_test_db()`` has the side effect of modifying the value of :setting:`NAME` in :setting:`DATABASES` to match the name of the test database. .. function:: destroy_test_db(old_database_name, [verbosity=1]) .. function:: destroy_test_db(old_database_name, [verbosity=1, keepdb=False]) Destroys the database whose name is the value of :setting:`NAME` in :setting:`DATABASES`, and sets :setting:`NAME` to the value of Loading @@ -516,6 +522,9 @@ can be useful during testing. The ``verbosity`` argument has the same behavior as for :class:`~django.test.runner.DiscoverRunner`. If the ``keepdb`` argument is ``True``, then the connection to the database will be closed, but the database will not be destroyed. .. _topics-testing-code-coverage: Integration with coverage.py Loading
tests/test_runner/tests.py +1 −1 Original line number Diff line number Diff line Loading @@ -309,7 +309,7 @@ class AliasedDatabaseTeardownTest(unittest.TestCase): old_create_test_db = DatabaseCreation.create_test_db try: destroyed_names = [] DatabaseCreation.destroy_test_db = lambda self, old_database_name, verbosity=1: destroyed_names.append(old_database_name) DatabaseCreation.destroy_test_db = lambda self, old_database_name, verbosity=1, keepdb=False: destroyed_names.append(old_database_name) DatabaseCreation.create_test_db = lambda self, verbosity=1, autoclobber=False, keepdb=False: self._get_test_db_name() db.connections = db.ConnectionHandler({ Loading