From b9d129bd438862e4b62fae341446c3ae0a526fe5 Mon Sep 17 00:00:00 2001 From: r5d Date: Tue, 3 Oct 2017 15:52:41 -0400 Subject: [PATCH] certbot: Stop using print in log module. (#5160) * Update certbot.log.post_arg_parse_except_hook function. * Update certbot.tests.log_test._test_common method. See discussion #3720. --- certbot/log.py | 4 ++-- certbot/tests/log_test.py | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/certbot/log.py b/certbot/log.py index 73b2e354f..f7c7b126c 100644 --- a/certbot/log.py +++ b/certbot/log.py @@ -359,11 +359,11 @@ def post_arg_parse_except_hook(exc_type, exc_value, trace, debug, log_path): logger.debug('Exiting abnormally:', exc_info=exc_info) if issubclass(exc_type, errors.Error): sys.exit(exc_value) - print('An unexpected error occurred:', file=sys.stderr) + logger.error('An unexpected error occurred:') if messages.is_acme_error(exc_value): # Remove the ACME error prefix from the exception _, _, exc_str = str(exc_value).partition(':: ') - print(exc_str, file=sys.stderr) + logger.error(exc_str) else: traceback.print_exception(exc_type, exc_value, None) exit_with_log_path(log_path) diff --git a/certbot/tests/log_test.py b/certbot/tests/log_test.py index 1f2dc3be0..3b0e1c5f6 100644 --- a/certbot/tests/log_test.py +++ b/certbot/tests/log_test.py @@ -343,11 +343,17 @@ class PostArgParseExceptHookTest(unittest.TestCase): def _test_common(self, error_type, debug): """Returns the mocked logger and stderr output.""" mock_err = six.StringIO() + + def write_err(*args, **unused_kwargs): + """Write error to mock_err.""" + mock_err.write(args[0]) + try: raise error_type(self.error_msg) except BaseException: exc_info = sys.exc_info() with mock.patch('certbot.log.logger') as mock_logger: + mock_logger.error.side_effect = write_err with mock.patch('certbot.log.sys.stderr', mock_err): try: # pylint: disable=star-args