Fixed memory leak in tests

The AssertNumQueriesContext didn't reset connection's use_debug_cursor
in case there was an exception. This resulted in leaking query strings
into connection.queries. Maximum memory use pre-patch was around 700MB,
post-patch it is around 200MB for Django's test suite.
This commit is contained in:
Anssi Kääriäinen 2013-03-17 11:26:27 +02:00
parent 74a80a5169
commit 9bc8d887c7
1 changed files with 1 additions and 1 deletions

View File

@ -162,9 +162,9 @@ class _AssertNumQueriesContext(CaptureQueriesContext):
super(_AssertNumQueriesContext, self).__init__(connection)
def __exit__(self, exc_type, exc_value, traceback):
super(_AssertNumQueriesContext, self).__exit__(exc_type, exc_value, traceback)
if exc_type is not None:
return
super(_AssertNumQueriesContext, self).__exit__(exc_type, exc_value, traceback)
executed = len(self)
self.test_case.assertEqual(
executed, self.num, "%d queries executed, %d expected" % (