From: Michael Droettboom Date: Mon, 3 Oct 2022 20:50:30 +0000 (-0400) Subject: gh-94808: Coverage: Check picklablability of calliter (#95923) X-Git-Tag: v3.12.0a1~298 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cfbc7dd91059cb663c7fe13c661665943495ed7f;p=thirdparty%2FPython%2Fcpython.git gh-94808: Coverage: Check picklablability of calliter (#95923) --- diff --git a/Lib/test/test_iter.py b/Lib/test/test_iter.py index 554f602f6252..acbdcb5f3020 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):