summaryrefslogtreecommitdiff
path: root/Lib/test/test_logging.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_logging.py')
-rw-r--r--Lib/test/test_logging.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index ba70b117d1..b3618bd2ad 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -3901,6 +3901,27 @@ class BasicConfigTest(unittest.TestCase):
self.assertIs(handlers[2].formatter, f)
self.assertIs(handlers[0].formatter, handlers[1].formatter)
+ def test_force(self):
+ old_string_io = io.StringIO()
+ new_string_io = io.StringIO()
+ old_handlers = [logging.StreamHandler(old_string_io)]
+ new_handlers = [logging.StreamHandler(new_string_io)]
+ logging.basicConfig(level=logging.WARNING, handlers=old_handlers)
+ logging.warning('warn')
+ logging.info('info')
+ logging.debug('debug')
+ self.assertEqual(len(logging.root.handlers), 1)
+ logging.basicConfig(level=logging.INFO, handlers=new_handlers,
+ force=True)
+ logging.warning('warn')
+ logging.info('info')
+ logging.debug('debug')
+ self.assertEqual(len(logging.root.handlers), 1)
+ self.assertEqual(old_string_io.getvalue().strip(),
+ 'WARNING:root:warn')
+ self.assertEqual(new_string_io.getvalue().strip(),
+ 'WARNING:root:warn\nINFO:root:info')
+
def _test_log(self, method, level=None):
# logging.root has no handlers so basicConfig should be called
called = []