From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 3 Oct 2022 21:25:48 +0000 (-0700) Subject: gh-94808: Coverage: Check picklablability of calliter (GH-95923) X-Git-Tag: v3.11.1~399 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fe99b64bef012cdf90b84a7cfe62a1d1a550ce55;p=thirdparty%2FPython%2Fcpython.git gh-94808: Coverage: Check picklablability of calliter (GH-95923) (cherry picked from commit cfbc7dd91059cb663c7fe13c661665943495ed7f) Co-authored-by: Michael Droettboom --- 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):