summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-02-05 18:32:47 (GMT)
committerGeorg Brandl <georg@python.org>2008-02-05 18:32:47 (GMT)
commit8ada17742baaa36357dbdf70009d247c1863c291 (patch)
tree684ad041e62b9fbcb5639ed0e93bb2e4e7e7a6ee
parent212861c54fe7e3d3b43f27fdbdaedb453731dbe9 (diff)
downloadcpython-8ada17742baaa36357dbdf70009d247c1863c291.zip
cpython-8ada17742baaa36357dbdf70009d247c1863c291.tar.gz
cpython-8ada17742baaa36357dbdf70009d247c1863c291.tar.bz2
Fix unittest conversion breakage.
-rw-r--r--Lib/test/test_funcattrs.py59
1 files changed, 30 insertions, 29 deletions
diff --git a/Lib/test/test_funcattrs.py b/Lib/test/test_funcattrs.py
index 21ef432..e245d59 100644
--- a/Lib/test/test_funcattrs.py
+++ b/Lib/test/test_funcattrs.py
@@ -2,16 +2,6 @@ from test import test_support
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 @@ class FuncAttrsTest(unittest.TestCase):
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 @@ class FunctionPropertiesTest(FuncAttrsTest):
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 @@ class FunctionPropertiesTest(FuncAttrsTest):
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 @@ class FunctionPropertiesTest(FuncAttrsTest):
# 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 @@ class ImplicitReferencesTest(FuncAttrsTest):
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 @@ class ImplicitReferencesTest(FuncAttrsTest):
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 ArbitraryFunctionAttrTest(FuncAttrsTest):
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 @@ class FunctionDocstringTest(FuncAttrsTest):
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"