From: Yury Selivanov Date: Wed, 5 Oct 2016 22:28:09 +0000 (-0400) Subject: Issue #28371: Deprecate passing asyncio.Handles to run_in_executor. X-Git-Tag: v3.6.0b2~45^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0de3de6cbfe034654dc03f3808de0c25e28a0c38;p=python Issue #28371: Deprecate passing asyncio.Handles to run_in_executor. --- diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index af66c0a5b6..648b9b9bbc 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -605,6 +605,9 @@ class BaseEventLoop(events.AbstractEventLoop): if isinstance(func, events.Handle): assert not args assert not isinstance(func, events.TimerHandle) + warnings.warn( + "Passing Handle to loop.run_in_executor() is deprecated", + DeprecationWarning) if func._cancelled: f = self.create_future() f.set_result(None) diff --git a/Lib/test/test_asyncio/test_base_events.py b/Lib/test/test_asyncio/test_base_events.py index 362ab06f39..a9aba0ffb6 100644 --- a/Lib/test/test_asyncio/test_base_events.py +++ b/Lib/test/test_asyncio/test_base_events.py @@ -358,7 +358,8 @@ class BaseEventLoopTests(test_utils.TestCase): h = asyncio.Handle(cb, (), self.loop) h.cancel() - f = self.loop.run_in_executor(None, h) + with self.assertWarnsRegex(DeprecationWarning, "Passing Handle"): + f = self.loop.run_in_executor(None, h) self.assertIsInstance(f, asyncio.Future) self.assertTrue(f.done()) self.assertIsNone(f.result()) @@ -373,12 +374,14 @@ class BaseEventLoopTests(test_utils.TestCase): self.loop.set_default_executor(executor) - res = self.loop.run_in_executor(None, h) + with self.assertWarnsRegex(DeprecationWarning, "Passing Handle"): + res = self.loop.run_in_executor(None, h) self.assertIs(f, res) executor = mock.Mock() executor.submit.return_value = f - res = self.loop.run_in_executor(executor, h) + with self.assertWarnsRegex(DeprecationWarning, "Passing Handle"): + res = self.loop.run_in_executor(executor, h) self.assertIs(f, res) self.assertTrue(executor.submit.called) diff --git a/Misc/NEWS b/Misc/NEWS index 354dc59ca2..0a92e6a47c 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -356,6 +356,8 @@ Library - Issue #28370: Speedup asyncio.StreamReader.readexactly. Patch by Коренберг Марк. +- Issue #28371: Deprecate passing asyncio.Handles to run_in_executor. + IDLE ----