summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_asyncio
diff options
context:
space:
mode:
authorNikita Sobolev <mail@sobolevn.me>2022-02-20 10:24:00 (GMT)
committerGitHub <noreply@github.com>2022-02-20 10:24:00 (GMT)
commit4ab8167b9c60d1a04b2e3116d0c52db254b68cda (patch)
treef7c1e79ff0941bfd8deca5e6dfccc0d527f87d8d /Lib/test/test_asyncio
parente7130c2e8c6abfaf04b209bd5b239059eda024b9 (diff)
downloadcpython-4ab8167b9c60d1a04b2e3116d0c52db254b68cda.zip
cpython-4ab8167b9c60d1a04b2e3116d0c52db254b68cda.tar.gz
cpython-4ab8167b9c60d1a04b2e3116d0c52db254b68cda.tar.bz2
bpo-46672: fix `NameError` in `asyncio.gather` if type check fails (GH-31187)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Diffstat (limited to 'Lib/test/test_asyncio')
-rw-r--r--Lib/test/test_asyncio/test_tasks.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_asyncio/test_tasks.py b/Lib/test/test_asyncio/test_tasks.py
index fe6bfb3..40b33de 100644
--- a/Lib/test/test_asyncio/test_tasks.py
+++ b/Lib/test/test_asyncio/test_tasks.py
@@ -3235,6 +3235,20 @@ class CoroutineGatherTests(GatherTestsBase, test_utils.TestCase):
test_utils.run_briefly(self.one_loop)
self.assertIsInstance(f.exception(), RuntimeError)
+ def test_issue46672(self):
+ with mock.patch(
+ 'asyncio.base_events.BaseEventLoop.call_exception_handler',
+ ):
+ async def coro(s):
+ return s
+ c = coro('abc')
+
+ with self.assertRaises(TypeError):
+ self._gather(c, {})
+ self._run_loop(self.one_loop)
+ # NameError should not happen:
+ self.one_loop.call_exception_handler.assert_not_called()
+
class RunCoroutineThreadsafeTests(test_utils.TestCase):
"""Test case for asyncio.run_coroutine_threadsafe."""