https://github.com/python/cpython/commit/4695f1a364e52bafbebcfe47dee931b3ca1b7782
commit: 4695f1a364e52bafbebcfe47dee931b3ca1b7782
branch: 3.12
author: Miss Islington (bot) <[email protected]>
committer: JelleZijlstra <[email protected]>
date: 2024-05-14T14:51:08Z
summary:

[3.12] typing tests: remove some unnecessary uses of `exec()` (GH-119005) 
(#119039)


(cherry picked from commit a9328e2b6ee05c186dcc552feb92b862b4a574df)

Co-authored-by: Alex Waygood <[email protected]>

files:
M Lib/test/test_typing.py

diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py
index ffb1425e1f32a8..4cf8d498fcc866 100644
--- a/Lib/test/test_typing.py
+++ b/Lib/test/test_typing.py
@@ -6635,24 +6635,16 @@ def test_iterator(self):
         self.assertNotIsInstance(42, typing.Iterator)
 
     def test_awaitable(self):
-        ns = {}
-        exec(
-            "async def foo() -> typing.Awaitable[int]:\n"
-            "    return await AwaitableWrapper(42)\n",
-            globals(), ns)
-        foo = ns['foo']
+        async def foo() -> typing.Awaitable[int]:
+            return await AwaitableWrapper(42)
         g = foo()
         self.assertIsInstance(g, typing.Awaitable)
         self.assertNotIsInstance(foo, typing.Awaitable)
         g.send(None)  # Run foo() till completion, to avoid warning.
 
     def test_coroutine(self):
-        ns = {}
-        exec(
-            "async def foo():\n"
-            "    return\n",
-            globals(), ns)
-        foo = ns['foo']
+        async def foo():
+            return
         g = foo()
         self.assertIsInstance(g, typing.Coroutine)
         with self.assertRaises(TypeError):
@@ -6926,10 +6918,9 @@ def test_no_generator_instantiation(self):
             typing.Generator[int, int, int]()
 
     def test_async_generator(self):
-        ns = {}
-        exec("async def f():\n"
-             "    yield 42\n", globals(), ns)
-        g = ns['f']()
+        async def f():
+             yield 42
+        g = f()
         self.assertIsSubclass(type(g), typing.AsyncGenerator)
 
     def test_no_async_generator_instantiation(self):
@@ -7016,9 +7007,8 @@ def asend(self, value):
             def athrow(self, typ, val=None, tb=None):
                 pass
 
-        ns = {}
-        exec('async def g(): yield 0', globals(), ns)
-        g = ns['g']
+        async def g(): yield 0
+
         self.assertIsSubclass(G, typing.AsyncGenerator)
         self.assertIsSubclass(G, typing.AsyncIterable)
         self.assertIsSubclass(G, collections.abc.AsyncGenerator)

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to