[Python-checkins] r60599 - python/trunk/Lib/test/test_funcattrs.py

georg.brandl python-checkins at python.org
Tue Feb 5 19:32:48 CET 2008


Author: georg.brandl
Date: Tue Feb 5 19:32:47 2008
New Revision: 60599
Modified:
 python/trunk/Lib/test/test_funcattrs.py
Log:
Fix unittest conversion breakage.
Modified: python/trunk/Lib/test/test_funcattrs.py
==============================================================================
--- python/trunk/Lib/test/test_funcattrs.py	(original)
+++ python/trunk/Lib/test/test_funcattrs.py	Tue Feb 5 19:32:47 2008
@@ -2,16 +2,6 @@
 import types
 import unittest
 
-def cannot_set_attr(obj, name, value, exceptions):
- # This method is not called as a test (name doesn't start with 'test'),
- # but may be used by other tests.
- try: setattr(obj, name, value)
- except exceptions: pass
- else: self.fail("shouldn't be able to set %s to %r" % (name, value))
- try: delattr(obj, name)
- except exceptions: pass
- else: self.fail("shouldn't be able to del %s" % name)
-
 class FuncAttrsTest(unittest.TestCase):
 def setUp(self):
 class F:
@@ -23,6 +13,17 @@
 self.fi = F()
 self.b = b
 
+ def cannot_set_attr(self,obj, name, value, exceptions):
+ # This method is not called as a test (name doesn't start with 'test'),
+ # but may be used by other tests.
+ try: setattr(obj, name, value)
+ except exceptions: pass
+ else: self.fail("shouldn't be able to set %s to %r" % (name, value))
+ try: delattr(obj, name)
+ except exceptions: pass
+ else: self.fail("shouldn't be able to del %s" % name)
+
+
 class FunctionPropertiesTest(FuncAttrsTest):
 # Include the external setUp method that is common to all tests
 def test_module(self):
@@ -56,7 +57,7 @@
 
 def test_func_globals(self):
 self.assertEqual(self.b.func_globals, globals())
- cannot_set_attr(self.b, 'func_globals', 2, TypeError)
+ self.cannot_set_attr(self.b, 'func_globals', 2, TypeError)
 
 def test_func_name(self):
 self.assertEqual(self.b.__name__, 'b')
@@ -68,8 +69,8 @@
 self.assertEqual(self.b.__name__, 'd')
 self.assertEqual(self.b.func_name, 'd')
 # __name__ and func_name must be a string
- cannot_set_attr(self.b, '__name__', 7, TypeError)
- cannot_set_attr(self.b, 'func_name', 7, TypeError)
+ self.cannot_set_attr(self.b, '__name__', 7, TypeError)
+ self.cannot_set_attr(self.b, 'func_name', 7, TypeError)
 # __name__ must be available when in restricted mode. Exec will raise
 # AttributeError if __name__ is not available on f.
 s = """def f(): pass\nf.__name__"""
@@ -77,8 +78,8 @@
 # Test on methods, too
 self.assertEqual(self.f.a.__name__, 'a')
 self.assertEqual(self.fi.a.__name__, 'a')
- cannot_set_attr(self.f.a, "__name__", 'a', AttributeError)
- cannot_set_attr(self.fi.a, "__name__", 'a', AttributeError)
+ self.cannot_set_attr(self.f.a, "__name__", 'a', AttributeError)
+ self.cannot_set_attr(self.fi.a, "__name__", 'a', AttributeError)
 
 def test_func_code(self):
 num_one, num_two = 7, 8
@@ -135,21 +136,21 @@
 def test_im_class(self):
 self.assertEqual(self.f.a.im_class, self.f)
 self.assertEqual(self.fi.a.im_class, self.f)
- cannot_set_attr(self.f.a, "im_class", self.f, TypeError)
- cannot_set_attr(self.fi.a, "im_class", self.f, TypeError)
+ self.cannot_set_attr(self.f.a, "im_class", self.f, TypeError)
+ self.cannot_set_attr(self.fi.a, "im_class", self.f, TypeError)
 
 def test_im_func(self):
 self.f.b = self.b
 self.assertEqual(self.f.b.im_func, self.b)
 self.assertEqual(self.fi.b.im_func, self.b)
- cannot_set_attr(self.f.b, "im_func", self.b, TypeError)
- cannot_set_attr(self.fi.b, "im_func", self.b, TypeError)
+ self.cannot_set_attr(self.f.b, "im_func", self.b, TypeError)
+ self.cannot_set_attr(self.fi.b, "im_func", self.b, TypeError)
 
 def test_im_self(self):
 self.assertEqual(self.f.a.im_self, None)
 self.assertEqual(self.fi.a.im_self, self.fi)
- cannot_set_attr(self.f.a, "im_self", None, TypeError)
- cannot_set_attr(self.fi.a, "im_self", self.fi, TypeError)
+ self.cannot_set_attr(self.f.a, "im_self", None, TypeError)
+ self.cannot_set_attr(self.fi.a, "im_self", self.fi, TypeError)
 
 def test_im_func_non_method(self):
 # Behavior should be the same when a method is added via an attr
@@ -162,8 +163,8 @@
 except AttributeError: pass
 else: self.fail("using unknown attributes should raise AttributeError")
 # Test assignment and deletion
- cannot_set_attr(self.f.id, 'unknown_attr', 2, AttributeError)
- cannot_set_attr(self.fi.id, 'unknown_attr', 2, AttributeError)
+ self.cannot_set_attr(self.f.id, 'unknown_attr', 2, AttributeError)
+ self.cannot_set_attr(self.fi.id, 'unknown_attr', 2, AttributeError)
 
 def test_implicit_method_properties(self):
 self.f.a.im_func.known_attr = 7
@@ -202,12 +203,12 @@
 
 class FunctionDictsTest(FuncAttrsTest):
 def test_setting_dict_to_invalid(self):
- cannot_set_attr(self.b, '__dict__', None, TypeError)
- cannot_set_attr(self.b, 'func_dict', None, TypeError)
+ self.cannot_set_attr(self.b, '__dict__', None, TypeError)
+ self.cannot_set_attr(self.b, 'func_dict', None, TypeError)
 from UserDict import UserDict
 d = UserDict({'known_attr': 7})
- cannot_set_attr(self.f.a.im_func, '__dict__', d, TypeError)
- cannot_set_attr(self.fi.a.im_func, '__dict__', d, TypeError)
+ self.cannot_set_attr(self.f.a.im_func, '__dict__', d, TypeError)
+ self.cannot_set_attr(self.fi.a.im_func, '__dict__', d, TypeError)
 
 def test_setting_dict_to_valid(self):
 d = {'known_attr': 7}
@@ -259,8 +260,8 @@
 self.assertEqual(self.b.func_doc, docstr)
 self.assertEqual(self.f.a.__doc__, docstr)
 self.assertEqual(self.fi.a.__doc__, docstr)
- cannot_set_attr(self.f.a, "__doc__", docstr, AttributeError)
- cannot_set_attr(self.fi.a, "__doc__", docstr, AttributeError)
+ self.cannot_set_attr(self.f.a, "__doc__", docstr, AttributeError)
+ self.cannot_set_attr(self.fi.a, "__doc__", docstr, AttributeError)
 
 def test_delete_docstring(self):
 self.b.__doc__ = "The docstring"


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /