]> granicus.if.org Git - python/commitdiff
Comment out two tests that won't pass now after reverting the typeobject.c
authorBarry Warsaw <barry@python.org>
Mon, 11 Jan 2016 19:44:59 +0000 (14:44 -0500)
committerBarry Warsaw <barry@python.org>
Mon, 11 Jan 2016 19:44:59 +0000 (14:44 -0500)
change.  Also, as per further discussion, we'll just remove the regressing
code in typeobject.c

Lib/test/test_buffer.py
Lib/test/test_memoryview.py
Misc/NEWS
Objects/typeobject.c

index ccfd1e91509a4fa14fb4d155f1c799c2ccc6d832..de80d4469d73e8e2ec9db5c61b6b0e15595f9c9b 100644 (file)
@@ -42,11 +42,12 @@ class BufferTests(unittest.TestCase):
         with self.assertRaises(TypeError):
             copy.copy(buf)
 
-    def test_pickle(self):
-        buf = buffer(b'abc')
-        for proto in range(pickle.HIGHEST_PROTOCOL + 1):
-            with self.assertRaises(TypeError):
-                pickle.dumps(buf, proto)
+    # See issue #22995
+    ## def test_pickle(self):
+    ##     buf = buffer(b'abc')
+    ##     for proto in range(pickle.HIGHEST_PROTOCOL + 1):
+    ##         with self.assertRaises(TypeError):
+    ##             pickle.dumps(buf, proto)
 
 
 def test_main():
index bc83247af820b8987b0171fcdfe252e1cdcb5898..4407af82642960c1c7a0756855339b435fcf877c 100644 (file)
@@ -362,11 +362,12 @@ class OtherTest(unittest.TestCase):
         with self.assertRaises(TypeError):
             copy.copy(m)
 
-    def test_pickle(self):
-        m = memoryview(b'abc')
-        for proto in range(pickle.HIGHEST_PROTOCOL + 1):
-            with self.assertRaises(TypeError):
-                pickle.dumps(m, proto)
+    # See issue #22995
+    ## def test_pickle(self):
+    ##     m = memoryview(b'abc')
+    ##     for proto in range(pickle.HIGHEST_PROTOCOL + 1):
+    ##         with self.assertRaises(TypeError):
+    ##             pickle.dumps(m, proto)
 
 
 def test_main():
index bda940f38105b2d0b51aff575b7f7df25b368f66..f74c18473189b8803c9940bee6bf35780eaf84a9 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,7 +10,7 @@ What's New in Python 2.7.12?
 Core and Builtins
 -----------------
 
-- Issue #22995: [UPDATE] Comment out the one of the pickleability tests in
+- Issue #22995: [UPDATE] Remove the one of the pickleability tests in
   _PyObject_GetState() due to regressions observed in Cython-based projects.
 
 - Issue #25961: Disallowed null characters in the type name.
index 1ddcc59d12c436077cd31c85f9c3dad5b37dcf03..8a5623f879b4aa6e978187b90758fe13067db16f 100644 (file)
@@ -3279,30 +3279,6 @@ reduce_2(PyObject *obj)
         if (names == NULL)
             goto end;
         assert(names == Py_None || PyList_Check(names));
-#if 0
-        /* 2016-01-11 barry - This clause breaks at least three packages which
-           rely on Cython: kivy, pysam, and s3ql.  Cython may be doing
-           something funny under the hood, but as this is clearly a regression
-           and the rationale for this prohibition is suspect, I am commenting
-           this out.  Perhaps it should just be removed.  See issue #22995 for
-           details.
-        */
-        if (required_state) {
-            Py_ssize_t basicsize = PyBaseObject_Type.tp_basicsize;
-            if (obj->ob_type->tp_dictoffset)
-                basicsize += sizeof(PyObject *);
-            if (obj->ob_type->tp_weaklistoffset)
-                basicsize += sizeof(PyObject *);
-            if (names != Py_None)
-                basicsize += sizeof(PyObject *) * Py_SIZE(names);
-            if (obj->ob_type->tp_basicsize > basicsize) {
-                PyErr_Format(PyExc_TypeError,
-                             "can't pickle %.200s objects",
-                             Py_TYPE(obj)->tp_name);
-                goto end;
-            }
-        }
-#endif
 
         if (names != Py_None) {
             slots = PyDict_New();