From 2d99d93d11e7908a51fde8de27b7a3584d23cf46 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 20 Nov 2014 15:03:52 +0100 Subject: asyncio: Coroutine objects are now rejected with a TypeError by the following functions: * add_signal_handler() * call_at() * call_later() * call_soon() * call_soon_threadsafe() * run_in_executor() Fix also the error message of add_signal_handler() (fix the name of the function). --- Lib/test/test_asyncio/test_unix_events.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'Lib/test/test_asyncio/test_unix_events.py') diff --git a/Lib/test/test_asyncio/test_unix_events.py b/Lib/test/test_asyncio/test_unix_events.py index 2f3fa185c95..b6ad0189215 100644 --- a/Lib/test/test_asyncio/test_unix_events.py +++ b/Lib/test/test_asyncio/test_unix_events.py @@ -65,15 +65,21 @@ class SelectorEventLoopSignalTests(test_utils.TestCase): @mock.patch('asyncio.unix_events.signal') def test_add_signal_handler_coroutine_error(self, m_signal): + m_signal.NSIG = signal.NSIG @asyncio.coroutine def simple_coroutine(): yield from [] - self.assertRaises( - TypeError, - self.loop.add_signal_handler, - signal.SIGINT, simple_coroutine) + # callback must not be a coroutine function + coro_func = simple_coroutine + coro_obj = coro_func() + self.addCleanup(coro_obj.close) + for func in (coro_func, coro_obj): + self.assertRaisesRegex( + TypeError, 'coroutines cannot be used with add_signal_handler', + self.loop.add_signal_handler, + signal.SIGINT, func) @mock.patch('asyncio.unix_events.signal') def test_add_signal_handler(self, m_signal): -- cgit v1.2.3