mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() (#1096)
raised an error. Replace them with using concrete types API that never fails if appropriate.
This commit is contained in:
parent
c209b70d61
commit
bf623ae884
14 changed files with 108 additions and 48 deletions
|
@ -543,6 +543,22 @@ class IOTest(unittest.TestCase):
|
|||
with self.open(support.TESTFN, "r") as f:
|
||||
self.assertRaises(TypeError, f.readline, 5.3)
|
||||
|
||||
def test_readline_nonsizeable(self):
|
||||
# Issue #30061
|
||||
# Crash when readline() returns an object without __len__
|
||||
class R(self.IOBase):
|
||||
def readline(self):
|
||||
return None
|
||||
self.assertRaises((TypeError, StopIteration), next, R())
|
||||
|
||||
def test_next_nonsizeable(self):
|
||||
# Issue #30061
|
||||
# Crash when __next__() returns an object without __len__
|
||||
class R(self.IOBase):
|
||||
def __next__(self):
|
||||
return None
|
||||
self.assertRaises(TypeError, R().readlines, 1)
|
||||
|
||||
def test_raw_bytes_io(self):
|
||||
f = self.BytesIO()
|
||||
self.write_ops(f)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue