From 67bfe8075822b226793ce672751329dd658af9af Mon Sep 17 00:00:00 2001 From: R David Murray Date: Sat, 23 Feb 2013 21:51:05 -0500 Subject: #17275: Fix class name in init errors in C bufferedio classes. This fixes an apparent copy-and-paste error. Patch by Manuel Jacob. --- Lib/test/test_io.py | 18 ++++++++++++++++++ Misc/ACKS | 1 + Misc/NEWS | 3 +++ 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 diff --git a/Misc/ACKS b/Misc/ACKS index 39195ef..8fbf9d0 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -505,6 +505,7 @@ Atsuo Ishimoto Adam Jackson Ben Jackson Paul Jackson +Manuel Jacob David Jacobs Kevin Jacobs Kjetil Jacobsen diff --git a/Misc/NEWS b/Misc/NEWS index c4a89f0..eb30662 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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; } -- cgit v0.12