]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #27040: Add loop.get_exception_handler method
authorYury Selivanov <yselivanov@sprymix.com>
Mon, 16 May 2016 19:20:38 +0000 (15:20 -0400)
committerYury Selivanov <yselivanov@sprymix.com>
Mon, 16 May 2016 19:20:38 +0000 (15:20 -0400)
Lib/asyncio/base_events.py
Lib/asyncio/events.py
Lib/test/test_asyncio/test_base_events.py
Misc/NEWS

index 3703480eba0e98d831c8827ecc62f2c9f8d8fc69..ada178f37f4bf01fe2df26eb7a4083016a7563c2 100644 (file)
@@ -1078,6 +1078,11 @@ class BaseEventLoop(events.AbstractEventLoop):
             logger.info('%s: %r' % (debug_log, transport))
         return transport, protocol
 
+    def get_exception_handler(self):
+        """Return an exception handler, or None if the default one is in use.
+        """
+        return self._exception_handler
+
     def set_exception_handler(self, handler):
         """Set handler as the new event loop exception handler.
 
index 176a846698448d31f8c9a921707c7d1d0db2b7cd..8358ebfd4f153b3854c67bd9fa5cc228da6e84c3 100644 (file)
@@ -484,6 +484,9 @@ class AbstractEventLoop:
 
     # Error handlers.
 
+    def get_exception_handler(self):
+        raise NotImplementedError
+
     def set_exception_handler(self, handler):
         raise NotImplementedError
 
index a74ac8963a2a2c58f31a80fe1c319d33b127b22c..ef93dc0e033319667c7872a49c0aaf635a76d753 100644 (file)
@@ -658,8 +658,10 @@ class BaseEventLoopTests(test_utils.TestCase):
         self.loop.set_debug(True)
         self.loop._process_events = mock.Mock()
 
+        self.assertIsNone(self.loop.get_exception_handler())
         mock_handler = mock.Mock()
         self.loop.set_exception_handler(mock_handler)
+        self.assertIs(self.loop.get_exception_handler(), mock_handler)
         handle = run_loop()
         mock_handler.assert_called_with(self.loop, {
             'exception': MOCK_ANY,
index 6697db5f145806f95a9e328c31acd4208ac3ef60..abffd52c0dd433eb705e7d18d1a240080d469aaf 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -454,6 +454,8 @@ Library
 - Issue #26848: Fix asyncio/subprocess.communicate() to handle empty input.
   Patch by Jack O'Connor.
 
+- Issue #27040: Add loop.get_exception_handler method
+
 Documentation
 -------------