[Jython-checkins] jython: Update test_funcattrs and remove skip

jim.baker jython-checkins at python.org
Sat Dec 13 04:34:49 CET 2014


https://hg.python.org/jython/rev/afe00ee26119
changeset:   7448:afe00ee26119
user:        Jim Baker <jim.baker at rackspace.com>
date:        Fri Dec 12 20:34:37 2014 -0700
summary:
  Update test_funcattrs and remove skip

Jython is more uniform in its attribute model than CPython.
Unfortunately we have more tests depending on such attempted settings
of read-only attributes resulting in a TypeError than an
AttributeError. But fixing this rather pointless, so deferring to
Jython 3.x. and changed test_funcattr accordingly. See
http://bugs.python.org/issue1687163

files:
  Lib/test/test_funcattrs.py |  15 ++++++++-------
  1 files changed, 8 insertions(+), 7 deletions(-)


diff --git a/Lib/test/test_funcattrs.py b/Lib/test/test_funcattrs.py
--- a/Lib/test/test_funcattrs.py
+++ b/Lib/test/test_funcattrs.py
@@ -62,9 +62,7 @@
 
     def test_func_globals(self):
         self.assertIs(self.b.func_globals, globals())
-        self.assertIs(self.b.__globals__, globals())
         self.cannot_set_attr(self.b, 'func_globals', 2, TypeError)
-        self.cannot_set_attr(self.b, '__globals__', 2, TypeError)
 
     def test_func_closure(self):
         a = 12
@@ -150,10 +148,8 @@
             return a+b
         self.assertEqual(first_func.func_defaults, None)
         self.assertEqual(second_func.func_defaults, (1, 2))
-        self.assertEqual(second_func.func_defaults, second_func.__defaults__)
         first_func.func_defaults = (1, 2)
         self.assertEqual(first_func.func_defaults, (1, 2))
-        self.assertEqual(first_func.func_defaults, first_func.__defaults__)
         self.assertEqual(first_func(), 3)
         self.assertEqual(first_func(3), 5)
         self.assertEqual(first_func(3, 5), 8)
@@ -312,7 +308,6 @@
 
 
 class FunctionDocstringTest(FuncAttrsTest):
-    @unittest.skipIf(test_support.is_jython, "FIXME: not working in Jython")
     def test_set_docstring_attr(self):
         self.assertEqual(self.b.__doc__, None)
         self.assertEqual(self.b.func_doc, None)
@@ -322,8 +317,14 @@
         self.assertEqual(self.b.func_doc, docstr)
         self.assertEqual(self.f.a.__doc__, docstr)
         self.assertEqual(self.fi.a.__doc__, docstr)
-        self.cannot_set_attr(self.f.a, "__doc__", docstr, AttributeError)
-        self.cannot_set_attr(self.fi.a, "__doc__", docstr, AttributeError)
+        # Jython is more uniform in its attribute model than CPython.
+        # Unfortunately we have more tests depending on such attempted
+        # settings of read-only attributes resulting in a TypeError
+        # than an AttributeError. But fixing this seems pointless for
+        # now, deferring to Jython 3.x. See
+        # http://bugs.python.org/issue1687163
+        self.cannot_set_attr(self.f.a, "__doc__", docstr, TypeError)
+        self.cannot_set_attr(self.fi.a, "__doc__", docstr, TypeError)
 
     def test_delete_docstring(self):
         self.b.__doc__ = "The docstring"

-- 
Repository URL: https://hg.python.org/jython


More information about the Jython-checkins mailing list