summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorMichael Droettboom <mdboom@gmail.com>2022-10-03 20:50:30 (GMT)
committerGitHub <noreply@github.com>2022-10-03 20:50:30 (GMT)
commitcfbc7dd91059cb663c7fe13c661665943495ed7f (patch)
treedfadd89badeaab7ce403814ffff1c7ee9e16e116 /Lib
parent9302e331c7e2edf1bb42f6b31085408a315195f5 (diff)
downloadcpython-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.py21
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):