diff --git a/tests/test_utils_logign.py b/tests/test_utils_logign.py index 1538d1d60..c7c181f04 100644 --- a/tests/test_utils_logign.py +++ b/tests/test_utils_logign.py @@ -21,9 +21,16 @@ def setup_logger(): def reconfigure_logzero_to_stderr(): + # Remove all existing handlers for h in log.handlers[:]: log.removeHandler(h) - + + # Create handler with the current sys.stderr (which may be captured) + handler = logging.StreamHandler(sys.stderr) + handler.setFormatter(LogFormatter()) + handler.setLevel(logging.DEBUG) + log.addHandler(handler) + log.setLevel(logging.DEBUG) @pytest.mark.parametrize("level,msg,should_appear", [ @@ -35,6 +42,7 @@ def reconfigure_logzero_to_stderr(): ]) 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 @@ -62,6 +70,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): @@ -74,6 +83,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"): @@ -86,6 +96,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): @@ -98,6 +109,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"):