summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRamiro Morales <cramm0@gmail.com>2012-07-21 20:16:47 -0300
committerRamiro Morales <cramm0@gmail.com>2012-07-21 20:16:47 -0300
commitea667ee3aeed33bce1dd681d9c0ea42f9926db5a (patch)
treeec95ad610f3988316a1c9c0d8d402e491f34b1c3
parent2b6644388f1a33f0b2eeb1c7a576fc04cfa72e0a (diff)
Made LiveServerTestCase to restore state on exit.
The piece of state is DB connections' allow_thread_sharing attribute which gets munged test are run when in-memory SQLite databases. Thanks Anssi for suggesting the possible root cause and Julien for implementing the fix.
-rw-r--r--django/test/testcases.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/django/test/testcases.py b/django/test/testcases.py
index 95e751d384..0a0b029796 100644
--- a/django/test/testcases.py
+++ b/django/test/testcases.py
@@ -1138,4 +1138,11 @@ class LiveServerTestCase(TransactionTestCase):
if hasattr(cls, 'server_thread'):
# Terminate the live server's thread
cls.server_thread.join()
+
+ # Restore sqlite connections' non-sharability
+ for conn in connections.all():
+ if (conn.settings_dict['ENGINE'] == 'django.db.backends.sqlite3'
+ and conn.settings_dict['NAME'] == ':memory:'):
+ conn.allow_thread_sharing = False
+
super(LiveServerTestCase, cls).tearDownClass()