#17275: Fix class name in init errors in C bufferedio classes.
This fixes an apparent copy-and-paste error.
Original patch by Manuel Jacob.
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index aabc1d2..3769a02 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -1004,6 +1004,12 @@
support.gc_collect()
self.assertTrue(wr() is None, wr)
+ def test_args_error(self):
+ # Issue #17275
+ with self.assertRaisesRegexp(TypeError, "BufferedReader"):
+ self.tp(io.BytesIO(), 1024, 1024, 1024)
+
+
class PyBufferedReaderTest(BufferedReaderTest):
tp = pyio.BufferedReader
@@ -1296,6 +1302,11 @@
with self.open(support.TESTFN, "rb") as f:
self.assertEqual(f.read(), b"123xxx")
+ def test_args_error(self):
+ # Issue #17275
+ with self.assertRaisesRegexp(TypeError, "BufferedWriter"):
+ self.tp(io.BytesIO(), 1024, 1024, 1024)
+
class PyBufferedWriterTest(BufferedWriterTest):
tp = pyio.BufferedWriter
@@ -1646,6 +1657,7 @@
f.flush()
self.assertEqual(raw.getvalue(), b'1b\n2def\n3\n')
+
class CBufferedRandomTest(CBufferedReaderTest, CBufferedWriterTest,
BufferedRandomTest, SizeofTest):
tp = io.BufferedRandom
@@ -1664,6 +1676,12 @@
CBufferedReaderTest.test_garbage_collection(self)
CBufferedWriterTest.test_garbage_collection(self)
+ def test_args_error(self):
+ # Issue #17275
+ with self.assertRaisesRegexp(TypeError, "BufferedRandom"):
+ self.tp(io.BytesIO(), 1024, 1024, 1024)
+
+
class PyBufferedRandomTest(BufferedRandomTest):
tp = pyio.BufferedRandom
diff --git a/Misc/ACKS b/Misc/ACKS
index 1c453f0..aabc361 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -466,6 +466,7 @@
Atsuo Ishimoto
Paul Jackson
Ben Jackson
+Manuel Jacob
David Jacobs
Kevin Jacobs
Kjetil Jacobsen
diff --git a/Misc/NEWS b/Misc/NEWS
index a2f397c..a89a9a4 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -9,6 +9,9 @@
Core and Builtins
-----------------
+- Issue #17275: Corrected class name in init error messages of the C version of
+ BufferedWriter and BufferedRandom.
+
- Issue #7963: Fixed misleading error message that issued when object is
called without arguments.
diff --git a/Modules/_io/bufferedio.c b/Modules/_io/bufferedio.c
index e2d6025..411755c 100644
--- a/Modules/_io/bufferedio.c
+++ b/Modules/_io/bufferedio.c
@@ -1683,7 +1683,7 @@
self->ok = 0;
self->detached = 0;
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|nn:BufferedReader", kwlist,
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|nn:BufferedWriter", kwlist,
&raw, &buffer_size, &max_buffer_size)) {
return -1;
}
@@ -2316,7 +2316,7 @@
self->ok = 0;
self->detached = 0;
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|nn:BufferedReader", kwlist,
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|nn:BufferedRandom", kwlist,
&raw, &buffer_size, &max_buffer_size)) {
return -1;
}