1
0
mirror of https://github.com/django/django.git synced 2025-04-22 00:04:43 +00:00

[1.4.x] Made LiveServerTestCase to restore state on exit.

The piece of state is DB connections' allow_thread_sharing attribute
which gets munged when test are run when in-memory SQLite databases.

Thanks Anssi for suggesting the possible root cause and Julien for
implementing the fix.

Backport of ea667ee3aeed33bce1dd681d9c0ea42f9926db5a from master.
This commit is contained in:
Ramiro Morales 2012-07-21 20:16:47 -03:00
parent 8ba78a0daf
commit c2ff027861

View File

@ -1143,4 +1143,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()