summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2015-05-20 19:50:59 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2015-05-20 19:50:59 (GMT)
commit45d61561541b35d9c8757b9cc87974edc73f8649 (patch)
treeaffc0dd05a3ad405cb07df340e63399c93561225
parent60335855f0388109f9fe92e6aa54ddb4e8723034 (diff)
downloadcpython-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.py4
-rw-r--r--Misc/ACKS1
-rw-r--r--Misc/NEWS3
-rw-r--r--Modules/_io/iobase.c16
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):
diff --git a/Misc/ACKS b/Misc/ACKS
index 71fb0c5..807eeb2 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1212,6 +1212,7 @@ Demur Rumed
Audun S. Runde
Eran Rundstein
Rauli Ruohonen
+Laura Rupprecht
Jeff Rush
Sam Rushing
Mark Russell
diff --git a/Misc/NEWS b/Misc/NEWS
index ab12a65..fe83306 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -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}
};