test: cover formatter reset on reuse

This commit is contained in:
2025-12-30 18:13:56 +01:00
parent 85f1ea4efb
commit c3761d1d08

View File

@@ -124,6 +124,33 @@ def test_setup_logger_does_not_duplicate_handlers():
assert first_count == second_count assert first_count == second_count
def test_setup_logger_resets_stream_formatters():
logger = logging.getLogger("skywipe")
original_handlers = list(logger.handlers)
for handler in original_handlers:
logger.removeHandler(handler)
try:
setup_logger(verbose=False)
alt_formatter = logging.Formatter(fmt="%(message)s")
for handler in logger.handlers:
if isinstance(handler, logging.StreamHandler):
handler.setFormatter(alt_formatter)
setup_logger(verbose=False)
for handler in logger.handlers:
if isinstance(handler, logging.StreamHandler):
assert handler.formatter is not None
assert handler.formatter._fmt == "%(levelname)s: %(message)s"
finally:
for handler in list(logger.handlers):
handler.close()
logger.removeHandler(handler)
for handler in original_handlers:
logger.addHandler(handler)
def test_setup_logger_disables_propagation(): def test_setup_logger_disables_propagation():
root_logger = logging.getLogger() root_logger = logging.getLogger()
root_messages = [] root_messages = []