mirror of
https://github.com/python/cpython.git
synced 2026-01-26 12:55:08 +00:00
gh-144085: Add {gi,cr}_suspended to inspect comments and generator/coroutine tests (#144086)
This commit is contained in:
parent
9060b4abbe
commit
4ef30a5871
@ -348,6 +348,7 @@ def isgenerator(object):
|
||||
gi_frame frame object or possibly None once the generator has
|
||||
been exhausted
|
||||
gi_running set to 1 when generator is executing, 0 otherwise
|
||||
gi_suspended set to 1 when the generator is suspended at a yield point, 0 otherwise
|
||||
gi_yieldfrom object being iterated by yield from or None
|
||||
|
||||
__iter__() defined to support iteration over container
|
||||
|
||||
@ -2294,8 +2294,8 @@ class CoroutineTests(unittest.TestCase):
|
||||
self.assertIs(wrapper.__name__, gen.__name__)
|
||||
|
||||
# Test AttributeErrors
|
||||
for name in {'gi_running', 'gi_frame', 'gi_code', 'gi_yieldfrom',
|
||||
'cr_running', 'cr_frame', 'cr_code', 'cr_await'}:
|
||||
for name in {'gi_running', 'gi_frame', 'gi_code', 'gi_yieldfrom', 'gi_suspended',
|
||||
'cr_running', 'cr_frame', 'cr_code', 'cr_await', 'cr_suspended'}:
|
||||
with self.assertRaises(AttributeError):
|
||||
getattr(wrapper, name)
|
||||
|
||||
@ -2304,14 +2304,17 @@ class CoroutineTests(unittest.TestCase):
|
||||
gen.gi_frame = object()
|
||||
gen.gi_code = object()
|
||||
gen.gi_yieldfrom = object()
|
||||
gen.gi_suspended = object()
|
||||
self.assertIs(wrapper.gi_running, gen.gi_running)
|
||||
self.assertIs(wrapper.gi_frame, gen.gi_frame)
|
||||
self.assertIs(wrapper.gi_code, gen.gi_code)
|
||||
self.assertIs(wrapper.gi_yieldfrom, gen.gi_yieldfrom)
|
||||
self.assertIs(wrapper.gi_suspended, gen.gi_suspended)
|
||||
self.assertIs(wrapper.cr_running, gen.gi_running)
|
||||
self.assertIs(wrapper.cr_frame, gen.gi_frame)
|
||||
self.assertIs(wrapper.cr_code, gen.gi_code)
|
||||
self.assertIs(wrapper.cr_await, gen.gi_yieldfrom)
|
||||
self.assertIs(wrapper.cr_suspended, gen.gi_suspended)
|
||||
|
||||
wrapper.close()
|
||||
gen.close.assert_called_once_with()
|
||||
@ -2430,7 +2433,7 @@ class CoroutineTests(unittest.TestCase):
|
||||
self.assertIs(wrapper.__await__(), gen)
|
||||
|
||||
for name in ('__name__', '__qualname__', 'gi_code',
|
||||
'gi_running', 'gi_frame'):
|
||||
'gi_running', 'gi_frame', 'gi_suspended'):
|
||||
self.assertIs(getattr(foo(), name),
|
||||
getattr(gen, name))
|
||||
self.assertIs(foo().cr_code, gen.gi_code)
|
||||
@ -2493,8 +2496,8 @@ class CoroutineTests(unittest.TestCase):
|
||||
self.assertEqual(repr(wrapper), str(wrapper))
|
||||
self.assertTrue(set(dir(wrapper)).issuperset({
|
||||
'__await__', '__iter__', '__next__', 'cr_code', 'cr_running',
|
||||
'cr_frame', 'gi_code', 'gi_frame', 'gi_running', 'send',
|
||||
'close', 'throw'}))
|
||||
'cr_frame', 'cr_suspended', 'gi_code', 'gi_frame', 'gi_running',
|
||||
'gi_suspended', 'send', 'close', 'throw'}))
|
||||
|
||||
|
||||
class FunctionTests(unittest.TestCase):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user