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:
parent
bf027c48c8
commit
48ebc264f8
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue