diff options
-rw-r--r-- | Lib/test/test_io.py | 18 | ||||
-rw-r--r-- | Misc/ACKS | 1 | ||||
-rw-r--r-- | Misc/NEWS | 3 | ||||
-rw-r--r-- | Modules/_io/bufferedio.c | 4 |
4 files changed, 24 insertions, 2 deletions
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py index a7e596a..8ef314e 100644 --- a/Lib/test/test_io.py +++ b/Lib/test/test_io.py @@ -1039,6 +1039,12 @@ class CBufferedReaderTest(BufferedReaderTest, SizeofTest): support.gc_collect() self.assertTrue(wr() is None, wr) + def test_args_error(self): + # Issue #17275 + with self.assertRaisesRegex(TypeError, "BufferedReader"): + self.tp(io.BytesIO(), 1024, 1024, 1024) + + class PyBufferedReaderTest(BufferedReaderTest): tp = pyio.BufferedReader @@ -1321,6 +1327,11 @@ class CBufferedWriterTest(BufferedWriterTest, SizeofTest): with self.open(support.TESTFN, "rb") as f: self.assertEqual(f.read(), b"123xxx") + def test_args_error(self): + # Issue #17275 + with self.assertRaisesRegex(TypeError, "BufferedWriter"): + self.tp(io.BytesIO(), 1024, 1024, 1024) + class PyBufferedWriterTest(BufferedWriterTest): tp = pyio.BufferedWriter @@ -1674,6 +1685,7 @@ class BufferedRandomTest(BufferedReaderTest, BufferedWriterTest): # You can't construct a BufferedRandom over a non-seekable stream. test_unseekable = None + class CBufferedRandomTest(BufferedRandomTest, SizeofTest): tp = io.BufferedRandom @@ -1691,6 +1703,12 @@ class CBufferedRandomTest(BufferedRandomTest, SizeofTest): CBufferedReaderTest.test_garbage_collection(self) CBufferedWriterTest.test_garbage_collection(self) + def test_args_error(self): + # Issue #17275 + with self.assertRaisesRegex(TypeError, "BufferedRandom"): + self.tp(io.BytesIO(), 1024, 1024, 1024) + + class PyBufferedRandomTest(BufferedRandomTest): tp = pyio.BufferedRandom @@ -505,6 +505,7 @@ Atsuo Ishimoto Adam Jackson Ben Jackson Paul Jackson +Manuel Jacob David Jacobs Kevin Jacobs Kjetil Jacobsen @@ -10,6 +10,9 @@ What's New in Python 3.2.4 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 bb77acc..a8278d4 100644 --- a/Modules/_io/bufferedio.c +++ b/Modules/_io/bufferedio.c @@ -1702,7 +1702,7 @@ bufferedwriter_init(buffered *self, PyObject *args, PyObject *kwds) 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; } @@ -2339,7 +2339,7 @@ bufferedrandom_init(buffered *self, PyObject *args, PyObject *kwds) 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; } |