Skip to content

Commit

Permalink
gh-94808: Coverage: Check picklablability of calliter (GH-95923)
Browse files Browse the repository at this point in the history
(cherry picked from commit cfbc7dd)

Co-authored-by: Michael Droettboom <mdboom@gmail.com>
  • Loading branch information
miss-islington and mdboom authored Oct 3, 2022
1 parent 4d4b1e6 commit fe99b64
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions Lib/test/test_iter.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,16 @@ class BadIterableClass:
def __iter__(self):
raise ZeroDivisionError

class CallableIterClass:
def __init__(self):
self.i = 0
def __call__(self):
i = self.i
self.i = i + 1
if i > 100:
raise IndexError # Emergency stop
return i

# Main test suite

class TestCase(unittest.TestCase):
Expand Down Expand Up @@ -237,16 +247,7 @@ def __iter__(self):

# Test two-argument iter() with callable instance
def test_iter_callable(self):
class C:
def __init__(self):
self.i = 0
def __call__(self):
i = self.i
self.i = i + 1
if i > 100:
raise IndexError # Emergency stop
return i
self.check_iterator(iter(C(), 10), list(range(10)), pickle=False)
self.check_iterator(iter(CallableIterClass(), 10), list(range(10)), pickle=True)

# Test two-argument iter() with function
def test_iter_function(self):
Expand Down

0 comments on commit fe99b64

Please sign in to comment.