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:
parent
74a80a5169
commit
9bc8d887c7
|
@ -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" % (
|
||||
|
|
Loading…
Reference in New Issue