[Python-checkins] r85593 - in python/branches/release31-maint: Lib/test/test_sys_setprofile.py

benjamin.peterson python-checkins at python.org
Sun Oct 17 03:38:54 CEST 2010


Author: benjamin.peterson
Date: Sun Oct 17 03:38:54 2010
New Revision: 85593

Log:
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
........


Modified:
   python/branches/release31-maint/   (props changed)
   python/branches/release31-maint/Lib/test/test_sys_setprofile.py

Modified: python/branches/release31-maint/Lib/test/test_sys_setprofile.py
==============================================================================
--- python/branches/release31-maint/Lib/test/test_sys_setprofile.py	(original)
+++ python/branches/release31-maint/Lib/test/test_sys_setprofile.py	Sun Oct 17 03:38:54 2010
@@ -1,3 +1,4 @@
+import gc
 import pprint
 import sys
 import unittest
@@ -12,14 +13,14 @@
         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 @@
 
 
 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]
 
 


More information about the Python-checkins mailing list