diff options
author | Michael Droettboom <mdboom@gmail.com> | 2022-10-03 20:50:30 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-03 20:50:30 (GMT) |
commit | cfbc7dd91059cb663c7fe13c661665943495ed7f (patch) | |
tree | dfadd89badeaab7ce403814ffff1c7ee9e16e116 /Lib | |
parent | 9302e331c7e2edf1bb42f6b31085408a315195f5 (diff) | |
download | cpython-cfbc7dd91059cb663c7fe13c661665943495ed7f.zip cpython-cfbc7dd91059cb663c7fe13c661665943495ed7f.tar.gz cpython-cfbc7dd91059cb663c7fe13c661665943495ed7f.tar.bz2 |
gh-94808: Coverage: Check picklablability of calliter (#95923)
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_iter.py | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/Lib/test/test_iter.py b/Lib/test/test_iter.py index 554f602..acbdcb5 100644 --- a/Lib/test/test_iter.py +++ b/Lib/test/test_iter.py @@ -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): @@ -237,16 +247,7 @@ class TestCase(unittest.TestCase): # 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): |