From 94f90a1784d503892c3c62ab60256f03bbdf0ece Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Sun, 12 Jan 2014 18:24:04 +0100 Subject: [PATCH] Fixed a test isolation issue. Refs #17062. This test could change settings.DATABASES['default']['TIME_ZONE'] and didn't restore the previous value. --- tests/backends/tests.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/backends/tests.py b/tests/backends/tests.py index a4743aeb41..1b15b9a316 100644 --- a/tests/backends/tests.py +++ b/tests/backends/tests.py @@ -2,6 +2,7 @@ # Unit and doctests for specific database backends. from __future__ import unicode_literals +import copy import datetime from decimal import Decimal import re @@ -336,16 +337,18 @@ class PostgresVersionTest(TestCase): self.assertEqual(pg_version.get_version(conn), 80300) -class PostgresNewConnectionTest(TestCase): - """ - #17062: PostgreSQL shouldn't roll back SET TIME ZONE, even if the first - transaction is rolled back. - """ +class PostgresNewConnectionTests(TestCase): + @unittest.skipUnless( connection.vendor == 'postgresql', "This test applies only to PostgreSQL") def test_connect_and_rollback(self): - new_connections = ConnectionHandler(settings.DATABASES) + """ + PostgreSQL shouldn't roll back SET TIME ZONE, even if the first + transaction is rolled back (#17062). + """ + databases = copy.deepcopy(settings.DATABASES) + new_connections = ConnectionHandler(databases) new_connection = new_connections[DEFAULT_DB_ALIAS] try: # Ensure the database default time zone is different than