diff --git a/tests/test_utils_logign.py b/tests/test_utils_logign.py index a44791dce..f3827ef20 100644 --- a/tests/test_utils_logign.py +++ b/tests/test_utils_logign.py @@ -17,6 +17,17 @@ def setup_logger(): add_log_Level(log, "ENLARGE", logging.INFO + 5, func_name="enlarge") logcfg("DEBUG") +def reconfigure_logzero_to_stderr(): + # Remove all existing handlers + for h in log.handlers[:]: + log.removeHandler(h) + + # Create a handler that writes to stderr (captured by pytest capfd) + handler = logging.StreamHandler(sys.stderr) + handler.setFormatter(LogFormatter()) + log.addHandler(handler) + + log.setLevel(logging.DEBUG) @pytest.mark.parametrize("level,msg,should_appear", [ ("WARNING", "warn to ignore", False), @@ -27,6 +38,7 @@ def setup_logger(): ]) def test_ignore_log_msg_filter(capfd, level, msg, should_appear): # Clear captured output before logging + reconfigure_logzero_to_stderr() capfd.readouterr() # Set up filter @@ -49,6 +61,7 @@ def test_ignore_log_msg_filter(capfd, level, msg, should_appear): def test_ignore_only_by_level(capfd): + reconfigure_logzero_to_stderr() capfd.readouterr() with ignore_log_msg(log, lvl="WARNING", msg=None): @@ -61,6 +74,7 @@ def test_ignore_only_by_level(capfd): def test_ignore_only_by_msg(capfd): + reconfigure_logzero_to_stderr() capfd.readouterr() with ignore_log_msg(log, lvl=None, msg="skip this"): @@ -73,6 +87,7 @@ def test_ignore_only_by_msg(capfd): def test_ignore_nothing_when_all_none(capfd): + reconfigure_logzero_to_stderr() capfd.readouterr() with ignore_log_msg(log, lvl=None, msg=None): @@ -85,6 +100,7 @@ def test_ignore_nothing_when_all_none(capfd): def test_filter_removed_after_context(capfd): + reconfigure_logzero_to_stderr() capfd.readouterr() with ignore_log_msg(log, lvl="WARNING", msg="temp msg"):