diff --git a/Lib/concurrent/futures/_base.py b/Lib/concurrent/futures/_base.py index 0bbb85bd462..79b91d495fc 100644 --- a/Lib/concurrent/futures/_base.py +++ b/Lib/concurrent/futures/_base.py @@ -41,8 +41,6 @@ # Logger for internal use by the futures package. LOGGER = logging.getLogger("concurrent.futures") -STDERR_HANDLER = logging.StreamHandler() -LOGGER.addHandler(STDERR_HANDLER) class Error(Exception): """Base class for all future-related exceptions.""" diff --git a/Lib/test/test_concurrent_futures.py b/Lib/test/test_concurrent_futures.py index 876d9940715..6a95a362d44 100644 --- a/Lib/test/test_concurrent_futures.py +++ b/Lib/test/test_concurrent_futures.py @@ -24,7 +24,7 @@ from concurrent import futures from concurrent.futures._base import ( PENDING, RUNNING, CANCELLED, CANCELLED_AND_NOTIFIED, FINISHED, Future, - LOGGER, STDERR_HANDLER, wait) + LOGGER, wait) import concurrent.futures.process def create_future(state=PENDING, exception=None, result=None): @@ -632,11 +632,7 @@ def fn(callback_future): self.assertTrue(was_cancelled) def test_done_callback_raises(self): - LOGGER.removeHandler(STDERR_HANDLER) - logging_stream = io.StringIO() - handler = logging.StreamHandler(logging_stream) - LOGGER.addHandler(handler) - try: + with test.support.captured_stderr() as stderr: raising_was_called = False fn_was_called = False @@ -655,10 +651,7 @@ def fn(callback_future): f.set_result(5) self.assertTrue(raising_was_called) self.assertTrue(fn_was_called) - self.assertIn('Exception: doh!', logging_stream.getvalue()) - finally: - LOGGER.removeHandler(handler) - LOGGER.addHandler(STDERR_HANDLER) + self.assertIn('Exception: doh!', stderr.getvalue()) def test_done_callback_already_successful(self): callback_result = None