Skip to content

Commit 53e6230

Browse files
committed
Issue python#24450: Proxy cr_await and gi_yieldfrom in @types.coroutine
1 parent e13f8f3 commit 53e6230

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

Lib/test/test_types.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1295,21 +1295,24 @@ def foo(): return gen
12951295
self.assertIs(wrapper.__name__, gen.__name__)
12961296

12971297
# Test AttributeErrors
1298-
for name in {'gi_running', 'gi_frame', 'gi_code',
1299-
'cr_running', 'cr_frame', 'cr_code'}:
1298+
for name in {'gi_running', 'gi_frame', 'gi_code', 'gi_yieldfrom',
1299+
'cr_running', 'cr_frame', 'cr_code', 'cr_await'}:
13001300
with self.assertRaises(AttributeError):
13011301
getattr(wrapper, name)
13021302

13031303
# Test attributes pass-through
13041304
gen.gi_running = object()
13051305
gen.gi_frame = object()
13061306
gen.gi_code = object()
1307+
gen.gi_yieldfrom = object()
13071308
self.assertIs(wrapper.gi_running, gen.gi_running)
13081309
self.assertIs(wrapper.gi_frame, gen.gi_frame)
13091310
self.assertIs(wrapper.gi_code, gen.gi_code)
1311+
self.assertIs(wrapper.gi_yieldfrom, gen.gi_yieldfrom)
13101312
self.assertIs(wrapper.cr_running, gen.gi_running)
13111313
self.assertIs(wrapper.cr_frame, gen.gi_frame)
13121314
self.assertIs(wrapper.cr_code, gen.gi_code)
1315+
self.assertIs(wrapper.cr_await, gen.gi_yieldfrom)
13131316

13141317
wrapper.close()
13151318
gen.close.assert_called_once_with()

Lib/types.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,13 @@ def gi_frame(self):
188188
@property
189189
def gi_running(self):
190190
return self.__wrapped.gi_running
191+
@property
192+
def gi_yieldfrom(self):
193+
return self.__wrapped.gi_yieldfrom
191194
cr_code = gi_code
192195
cr_frame = gi_frame
193196
cr_running = gi_running
197+
cr_await = gi_yieldfrom
194198
def __next__(self):
195199
return next(self.__wrapped)
196200
def __iter__(self):

0 commit comments

Comments
 (0)