diff -r fcc61327c86c Lib/test/test_io.py --- a/Lib/test/test_io.py Fri Feb 22 08:29:34 2013 +0200 +++ b/Lib/test/test_io.py Fri Feb 22 17:52:36 2013 +0100 @@ -1371,6 +1371,11 @@ 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 @@ -1740,6 +1745,11 @@ 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 -r fcc61327c86c Modules/_io/bufferedio.c --- a/Modules/_io/bufferedio.c Fri Feb 22 08:29:34 2013 +0200 +++ b/Modules/_io/bufferedio.c Fri Feb 22 17:52:36 2013 +0100 @@ -1822,7 +1822,7 @@ self->ok = 0; self->detached = 0; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|n:BufferedReader", kwlist, + if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|n:BufferedWriter", kwlist, &raw, &buffer_size)) { return -1; } @@ -2451,7 +2451,7 @@ self->ok = 0; self->detached = 0; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|n:BufferedReader", kwlist, + if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|n:BufferedRandom", kwlist, &raw, &buffer_size)) { return -1; }