@@ -7060,24 +7060,16 @@ def test_iterator(self):
7060
7060
self .assertNotIsInstance (42 , typing .Iterator )
7061
7061
7062
7062
def test_awaitable (self ):
7063
- ns = {}
7064
- exec (
7065
- "async def foo() -> typing.Awaitable[int]:\n "
7066
- " return await AwaitableWrapper(42)\n " ,
7067
- globals (), ns )
7068
- foo = ns ['foo' ]
7063
+ async def foo () -> typing .Awaitable [int ]:
7064
+ return await AwaitableWrapper (42 )
7069
7065
g = foo ()
7070
7066
self .assertIsInstance (g , typing .Awaitable )
7071
7067
self .assertNotIsInstance (foo , typing .Awaitable )
7072
7068
g .send (None ) # Run foo() till completion, to avoid warning.
7073
7069
7074
7070
def test_coroutine (self ):
7075
- ns = {}
7076
- exec (
7077
- "async def foo():\n "
7078
- " return\n " ,
7079
- globals (), ns )
7080
- foo = ns ['foo' ]
7071
+ async def foo ():
7072
+ return
7081
7073
g = foo ()
7082
7074
self .assertIsInstance (g , typing .Coroutine )
7083
7075
with self .assertRaises (TypeError ):
@@ -7352,10 +7344,9 @@ def test_no_generator_instantiation(self):
7352
7344
typing .Generator [int , int , int ]()
7353
7345
7354
7346
def test_async_generator (self ):
7355
- ns = {}
7356
- exec ("async def f():\n "
7357
- " yield 42\n " , globals (), ns )
7358
- g = ns ['f' ]()
7347
+ async def f ():
7348
+ yield 42
7349
+ g = f ()
7359
7350
self .assertIsSubclass (type (g ), typing .AsyncGenerator )
7360
7351
7361
7352
def test_no_async_generator_instantiation (self ):
@@ -7442,9 +7433,8 @@ def asend(self, value):
7442
7433
def athrow (self , typ , val = None , tb = None ):
7443
7434
pass
7444
7435
7445
- ns = {}
7446
- exec ('async def g(): yield 0' , globals (), ns )
7447
- g = ns ['g' ]
7436
+ async def g (): yield 0
7437
+
7448
7438
self .assertIsSubclass (G , typing .AsyncGenerator )
7449
7439
self .assertIsSubclass (G , typing .AsyncIterable )
7450
7440
self .assertIsSubclass (G , collections .abc .AsyncGenerator )
0 commit comments