summaryrefslogtreecommitdiff
path: root/Lib/test/test_trace.py
diff options
context:
space:
mode:
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>2008-04-24 20:10:26 +0000
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>2008-04-24 20:10:26 +0000
commit55abb18696326963af0b8a1b411d82cba428225a (patch)
tree1bd04e60460cdddddb54b793bb992b74578e7c8b /Lib/test/test_trace.py
parent5b9d66dcfd3b6a96cab19fac9cd10a2a4b4926d0 (diff)
downloadcpython-55abb18696326963af0b8a1b411d82cba428225a.tar.gz
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__()
Diffstat (limited to 'Lib/test/test_trace.py')
-rw-r--r--Lib/test/test_trace.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/Lib/test/test_trace.py b/Lib/test/test_trace.py
index 6ad38d103a..b5db9a7a01 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: