|
61 | 61 | import weakref
|
62 | 62 |
|
63 | 63 | from http.server import HTTPServer, BaseHTTPRequestHandler
|
64 |
| -from unittest.mock import patch |
| 64 | +from unittest.mock import call, Mock, patch |
65 | 65 | from urllib.parse import urlparse, parse_qs
|
66 | 66 | from socketserver import (ThreadingUDPServer, DatagramRequestHandler,
|
67 | 67 | ThreadingTCPServer, StreamRequestHandler)
|
@@ -5655,12 +5655,19 @@ def test_incompatible(self):
|
5655 | 5655 | assertRaises = self.assertRaises
|
5656 | 5656 | handlers = [logging.StreamHandler()]
|
5657 | 5657 | stream = sys.stderr
|
| 5658 | + formatter = logging.Formatter() |
5658 | 5659 | assertRaises(ValueError, logging.basicConfig, filename='test.log',
|
5659 | 5660 | stream=stream)
|
5660 | 5661 | assertRaises(ValueError, logging.basicConfig, filename='test.log',
|
5661 | 5662 | handlers=handlers)
|
5662 | 5663 | assertRaises(ValueError, logging.basicConfig, stream=stream,
|
5663 | 5664 | handlers=handlers)
|
| 5665 | + assertRaises(ValueError, logging.basicConfig, formatter=formatter, |
| 5666 | + format='%(message)s') |
| 5667 | + assertRaises(ValueError, logging.basicConfig, formatter=formatter, |
| 5668 | + datefmt='%H:%M:%S') |
| 5669 | + assertRaises(ValueError, logging.basicConfig, formatter=formatter, |
| 5670 | + style='%') |
5664 | 5671 | # Issue 23207: test for invalid kwargs
|
5665 | 5672 | assertRaises(ValueError, logging.basicConfig, loglevel=logging.INFO)
|
5666 | 5673 | # Should pop both filename and filemode even if filename is None
|
@@ -5795,6 +5802,20 @@ def dummy_handle_error(record):
|
5795 | 5802 | # didn't write anything due to the encoding error
|
5796 | 5803 | self.assertEqual(data, r'')
|
5797 | 5804 |
|
| 5805 | + def test_formatter_given(self): |
| 5806 | + mock_formatter = Mock() |
| 5807 | + mock_handler = Mock(formatter=None) |
| 5808 | + with patch("logging.Formatter") as mock_formatter_init: |
| 5809 | + logging.basicConfig(formatter=mock_formatter, handlers=[mock_handler]) |
| 5810 | + self.assertEqual(mock_handler.setFormatter.call_args_list, [call(mock_formatter)]) |
| 5811 | + self.assertEqual(mock_formatter_init.call_count, 0) |
| 5812 | + |
| 5813 | + def test_formatter_not_given(self): |
| 5814 | + mock_handler = Mock(formatter=None) |
| 5815 | + with patch("logging.Formatter") as mock_formatter_init: |
| 5816 | + logging.basicConfig(handlers=[mock_handler]) |
| 5817 | + self.assertEqual(mock_formatter_init.call_count, 1) |
| 5818 | + |
5798 | 5819 | @support.requires_working_socket()
|
5799 | 5820 | def test_log_taskName(self):
|
5800 | 5821 | async def log_record():
|
|
0 commit comments