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():
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():
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.
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();