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)
|
super(_AssertNumQueriesContext, self).__init__(connection)
|
||||||
|
|
||||||
def __exit__(self, exc_type, exc_value, traceback):
|
def __exit__(self, exc_type, exc_value, traceback):
|
||||||
|
super(_AssertNumQueriesContext, self).__exit__(exc_type, exc_value, traceback)
|
||||||
if exc_type is not None:
|
if exc_type is not None:
|
||||||
return
|
return
|
||||||
super(_AssertNumQueriesContext, self).__exit__(exc_type, exc_value, traceback)
|
|
||||||
executed = len(self)
|
executed = len(self)
|
||||||
self.test_case.assertEqual(
|
self.test_case.assertEqual(
|
||||||
executed, self.num, "%d queries executed, %d expected" % (
|
executed, self.num, "%d queries executed, %d expected" % (
|
||||||
|
|
Loading…
Reference in New Issue