Issue #9858: Add missing method stubs to _io.RawIOBase. Patch by Laura Rupprecht.

This commit is contained in:
Antoine Pitrou 2015-05-20 21:50:59 +02:00
parent 60335855f0
commit 45d6156154
4 changed files with 22 additions and 2 deletions

View File

@ -722,10 +722,10 @@ class PyIOTest(IOTest):
@support.cpython_only
class APIMismatchTest(unittest.TestCase):
@unittest.expectedFailure # Test to be fixed by issue9858.
def test_RawIOBase_io_in_pyio_match(self):
"""Test that pyio RawIOBase class has all c RawIOBase methods"""
mismatch = support.detect_api_mismatch(pyio.RawIOBase, io.RawIOBase)
mismatch = support.detect_api_mismatch(pyio.RawIOBase, io.RawIOBase,
ignore=('__weakref__',))
self.assertEqual(mismatch, set(), msg='Python RawIOBase does not have all C RawIOBase methods')
def test_RawIOBase_pyio_in_io_match(self):

View File

@ -1212,6 +1212,7 @@ Demur Rumed
Audun S. Runde
Eran Rundstein
Rauli Ruohonen
Laura Rupprecht
Jeff Rush
Sam Rushing
Mark Russell

View File

@ -52,6 +52,9 @@ Core and Builtins
Library
-------
- Issue #9858: Add missing method stubs to _io.RawIOBase. Patch by Laura
Rupprecht.
- Issue #22955: attrgetter, itemgetter and methodcaller objects in the operator
module now support pickling. Added readable and evaluable repr for these
objects. Based on patch by Josh Rosenberg.

View File

@ -952,9 +952,25 @@ _io__RawIOBase_readall_impl(PyObject *self)
return result;
}
static PyObject *
rawiobase_readinto(PyObject *self, PyObject *args)
{
PyErr_SetNone(PyExc_NotImplementedError);
return NULL;
}
static PyObject *
rawiobase_write(PyObject *self, PyObject *args)
{
PyErr_SetNone(PyExc_NotImplementedError);
return NULL;
}
static PyMethodDef rawiobase_methods[] = {
_IO__RAWIOBASE_READ_METHODDEF
_IO__RAWIOBASE_READALL_METHODDEF
{"readinto", rawiobase_readinto, METH_VARARGS},
{"write", rawiobase_write, METH_VARARGS},
{NULL, NULL}
};