diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2015-05-20 19:50:59 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2015-05-20 19:50:59 (GMT) |
commit | 45d61561541b35d9c8757b9cc87974edc73f8649 (patch) | |
tree | affc0dd05a3ad405cb07df340e63399c93561225 | |
parent | 60335855f0388109f9fe92e6aa54ddb4e8723034 (diff) | |
download | cpython-45d61561541b35d9c8757b9cc87974edc73f8649.zip cpython-45d61561541b35d9c8757b9cc87974edc73f8649.tar.gz cpython-45d61561541b35d9c8757b9cc87974edc73f8649.tar.bz2 |
Issue #9858: Add missing method stubs to _io.RawIOBase. Patch by Laura Rupprecht.
-rw-r--r-- | Lib/test/test_io.py | 4 | ||||
-rw-r--r-- | Misc/ACKS | 1 | ||||
-rw-r--r-- | Misc/NEWS | 3 | ||||
-rw-r--r-- | Modules/_io/iobase.c | 16 |
4 files changed, 22 insertions, 2 deletions
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py index f7c6e2d..af7da01 100644 --- a/Lib/test/test_io.py +++ b/Lib/test/test_io.py @@ -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): @@ -1212,6 +1212,7 @@ Demur Rumed Audun S. Runde Eran Rundstein Rauli Ruohonen +Laura Rupprecht Jeff Rush Sam Rushing Mark Russell @@ -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. diff --git a/Modules/_io/iobase.c b/Modules/_io/iobase.c index 79d716a..025007e 100644 --- a/Modules/_io/iobase.c +++ b/Modules/_io/iobase.c @@ -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} }; |