From b79bf9c7a9c1bc0e3cf0c5c4b0d8191a3033530b Mon Sep 17 00:00:00 2001 From: Aymeric Augustin <aymeric.augustin@m4x.org> Date: Sun, 12 Jan 2014 18:24:04 +0100 Subject: [PATCH] [1.6.x] Fixed a test isolation issue. Refs #17062. This test could change settings.DATABASES['default']['TIME_ZONE'] and didn't restore the previous value. Backport of 1c24096f from master. --- 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 56d47e786e..be0c3a418f 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 absolute_import, unicode_literals +import copy import datetime from decimal import Decimal import threading @@ -315,16 +316,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