Merged revisions 85589-85591 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85589 | benjamin.peterson | 2010-10-16 20:25:19 -0500 (Sat, 16 Oct 2010) | 1 line

  remove rather pointless test
........
  r85590 | benjamin.peterson | 2010-10-16 20:29:11 -0500 (Sat, 16 Oct 2010) | 1 line

  disable the garbage collector while collecting traces, so that __del__s don't get caught
........
  r85591 | benjamin.peterson | 2010-10-16 20:30:26 -0500 (Sat, 16 Oct 2010) | 1 line

  use assertion methods
........
This commit is contained in:
Benjamin Peterson 2010-10-17 01:38:54 +00:00
parent e9633491ca
commit 67295c3533
1 changed files with 14 additions and 13 deletions

View File

@ -1,3 +1,4 @@
import gc
import pprint
import sys
import unittest
@ -12,14 +13,14 @@ class TestGetProfile(unittest.TestCase):
sys.setprofile(None)
def test_empty(self):
assert sys.getprofile() is None
self.assertIsNone(sys.getprofile())
def test_setget(self):
def fn(*args):
pass
sys.setprofile(fn)
assert sys.getprofile() == fn
self.assertIs(sys.getprofile(), fn)
class HookWatcher:
def __init__(self):
@ -352,19 +353,19 @@ protect_ident = ident(protect)
def capture_events(callable, p=None):
try:
sys.setprofile()
except TypeError:
pass
else:
raise support.TestFailed(
'sys.setprofile() did not raise TypeError')
if p is None:
p = HookWatcher()
sys.setprofile(p.callback)
protect(callable, p)
sys.setprofile(None)
# Disable the garbage collector. This prevents __del__s from showing up in
# traces.
old_gc = gc.isenabled()
gc.disable()
try:
sys.setprofile(p.callback)
protect(callable, p)
sys.setprofile(None)
finally:
if old_gc:
gc.enable()
return p.get_events()[1:-1]