Commit 9bc8d887 authored by Anssi Kääriäinen's avatar Anssi Kääriäinen
Browse files

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.
parent 74a80a51
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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" % (