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__()
This commit is contained in:
Amaury Forgeot d'Arc 2008-04-24 20:10:26 +00:00
parent bf027c48c8
commit 48ebc264f8
1 changed files with 12 additions and 0 deletions

View File

@ -4,6 +4,7 @@ from test import test_support
import unittest import unittest
import sys import sys
import difflib import difflib
import gc
# A very basic example. If this fails, we're in deep trouble. # A very basic example. If this fails, we're in deep trouble.
def basic(): def basic():
@ -244,6 +245,17 @@ class Tracer:
return self.trace return self.trace
class TraceTestCase(unittest.TestCase): 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): def compare_events(self, line_offset, events, expected_events):
events = [(l - line_offset, e) for (l, e) in events] events = [(l - line_offset, e) for (l, e) in events]
if events != expected_events: if events != expected_events: