Skip to content

Commit 67bfe80

Browse files
committed
#17275: Fix class name in init errors in C bufferedio classes.
This fixes an apparent copy-and-paste error. Patch by Manuel Jacob.
1 parent 0362b54 commit 67bfe80

File tree

4 files changed

+24
-2
lines changed

4 files changed

+24
-2
lines changed

Lib/test/test_io.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1039,6 +1039,12 @@ def test_garbage_collection(self):
10391039
support.gc_collect()
10401040
self.assertTrue(wr() is None, wr)
10411041

1042+
def test_args_error(self):
1043+
# Issue #17275
1044+
with self.assertRaisesRegex(TypeError, "BufferedReader"):
1045+
self.tp(io.BytesIO(), 1024, 1024, 1024)
1046+
1047+
10421048
class PyBufferedReaderTest(BufferedReaderTest):
10431049
tp = pyio.BufferedReader
10441050

@@ -1321,6 +1327,11 @@ def test_garbage_collection(self):
13211327
with self.open(support.TESTFN, "rb") as f:
13221328
self.assertEqual(f.read(), b"123xxx")
13231329

1330+
def test_args_error(self):
1331+
# Issue #17275
1332+
with self.assertRaisesRegex(TypeError, "BufferedWriter"):
1333+
self.tp(io.BytesIO(), 1024, 1024, 1024)
1334+
13241335

13251336
class PyBufferedWriterTest(BufferedWriterTest):
13261337
tp = pyio.BufferedWriter
@@ -1674,6 +1685,7 @@ def test_interleaved_readline_write(self):
16741685
# You can't construct a BufferedRandom over a non-seekable stream.
16751686
test_unseekable = None
16761687

1688+
16771689
class CBufferedRandomTest(BufferedRandomTest, SizeofTest):
16781690
tp = io.BufferedRandom
16791691

@@ -1691,6 +1703,12 @@ def test_garbage_collection(self):
16911703
CBufferedReaderTest.test_garbage_collection(self)
16921704
CBufferedWriterTest.test_garbage_collection(self)
16931705

1706+
def test_args_error(self):
1707+
# Issue #17275
1708+
with self.assertRaisesRegex(TypeError, "BufferedRandom"):
1709+
self.tp(io.BytesIO(), 1024, 1024, 1024)
1710+
1711+
16941712
class PyBufferedRandomTest(BufferedRandomTest):
16951713
tp = pyio.BufferedRandom
16961714

Misc/ACKS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,7 @@ Atsuo Ishimoto
505505
Adam Jackson
506506
Ben Jackson
507507
Paul Jackson
508+
Manuel Jacob
508509
David Jacobs
509510
Kevin Jacobs
510511
Kjetil Jacobsen

Misc/NEWS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ What's New in Python 3.2.4
1010
Core and Builtins
1111
-----------------
1212

13+
- Issue #17275: Corrected class name in init error messages of the C version of
14+
BufferedWriter and BufferedRandom.
15+
1316
- Issue #7963: Fixed misleading error message that issued when object is
1417
called without arguments.
1518

Modules/_io/bufferedio.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1702,7 +1702,7 @@ bufferedwriter_init(buffered *self, PyObject *args, PyObject *kwds)
17021702
self->ok = 0;
17031703
self->detached = 0;
17041704

1705-
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|nn:BufferedReader", kwlist,
1705+
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|nn:BufferedWriter", kwlist,
17061706
&raw, &buffer_size, &max_buffer_size)) {
17071707
return -1;
17081708
}
@@ -2339,7 +2339,7 @@ bufferedrandom_init(buffered *self, PyObject *args, PyObject *kwds)
23392339
self->ok = 0;
23402340
self->detached = 0;
23412341

2342-
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|nn:BufferedReader", kwlist,
2342+
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|nn:BufferedRandom", kwlist,
23432343
&raw, &buffer_size, &max_buffer_size)) {
23442344
return -1;
23452345
}

0 commit comments

Comments
 (0)