Skip to content

Commit b8f4dcf

Browse files
committed
Add test case
1 parent c59aa74 commit b8f4dcf

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

Lib/test/test_io/test_bufferedio.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,19 @@ def test_bad_readinto_type(self):
623623
bufio.readline()
624624
self.assertIsInstance(cm.exception.__cause__, TypeError)
625625

626+
def test_read1_error_does_not_cause_reentrant_failure(self):
627+
self.addCleanup(os_helper.unlink, os_helper.TESTFN)
628+
with self.open(os_helper.TESTFN, "wb") as f:
629+
f.write(b"hello")
630+
631+
with self.open(os_helper.TESTFN, "rb", buffering=0) as raw:
632+
bufio = self.tp(raw, buffer_size=8)
633+
huge = 10**18
634+
with self.assertRaises(MemoryError):
635+
bufio.read1(huge)
636+
637+
self.assertEqual(bufio.read1(1), b"h")
638+
626639

627640
class PyBufferedReaderTest(BufferedReaderTest, PyTestCase):
628641
tp = pyio.BufferedReader

0 commit comments

Comments
 (0)