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.
This commit is contained in:
Ramiro Morales 2012-07-21 20:16:47 -03:00
parent 2b6644388f
commit ea667ee3ae
1 changed files with 7 additions and 0 deletions

View File

@ -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()