From 48ebc264f8a92824f3872049a581f0e45d1a5009 Mon Sep 17 00:00:00 2001 From: Amaury Forgeot d'Arc Date: Thu, 24 Apr 2008 20:10:26 +0000 Subject: [PATCH] Disable gc when running test_trace, or we may record the __del__ of collected objects. See http://mail.python.org/pipermail/python-checkins/2008-April/068633.html the extra events perfectly match several calls to socket._fileobject.__del__() --- Lib/test/test_trace.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Lib/test/test_trace.py b/Lib/test/test_trace.py index 6ad38d103ad..b5db9a7a01f 100644 --- a/Lib/test/test_trace.py +++ b/Lib/test/test_trace.py @@ -4,6 +4,7 @@ from test import test_support import unittest import sys import difflib +import gc # A very basic example. If this fails, we're in deep trouble. def basic(): @@ -244,6 +245,17 @@ class Tracer: return self.trace class TraceTestCase(unittest.TestCase): + + # Disable gc collection when tracing, otherwise the + # deallocators may be traced as well. + def setUp(self): + self.using_gc = gc.isenabled() + gc.disable() + + def tearDown(self): + if self.using_gc: + gc.enable() + def compare_events(self, line_offset, events, expected_events): events = [(l - line_offset, e) for (l, e) in events] if events != expected_events: