Update tests/test_utils_logign.py
Run CI Tests / test (push) Successful in 35s

This commit is contained in:
2025-07-28 16:43:39 +02:00
parent 8e84cd6635
commit 8ed594ff5f
+15 -37
View File
@@ -1,59 +1,37 @@
import logging
import pytest
import pytest
import sys
import os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from slic.utils.logign import *
from slic.utils.logcfg import add_log_Level, logcfg
import logzero
import logging
import sys
import pytest
from logzero import logger as log
from slic.utils.logign import ignore_log_msg
from slic.utils.logcfg import add_log_Level, logcfg
@pytest.fixture(scope="module", autouse=True)
def setup_custom_levels():
add_log_Level(log, "ENLARGE", logging.INFO + 5, func_name="enlarge")
logcfg("DEBUG") # Allow everything
# Define an independent logger for testing
log = logging.getLogger("test_logger")
@pytest.fixture(autouse=True)
def reset_log_handlers():
def setup_logger():
# Remove all handlers
for h in log.handlers[:]:
log.removeHandler(h)
# Attach a fresh StreamHandler to stderr
handler = logging.StreamHandler(sys.stderr)
formatter = logzero.LogFormatter()
formatter = logging.Formatter('%(levelname)s:%(message)s')
handler.setFormatter(formatter)
log.addHandler(handler)
log.setLevel(logging.DEBUG)
def test_ignore_log_msg_works(capsys):
def test_logger_capture_with_capsys(capsys):
capsys.readouterr()
# Log without filter
log.warning("visible log")
captured = capsys.readouterr().err
print("Captured 1:", repr(captured))
print("Captured:", repr(captured))
assert "visible log" in captured
# Log inside context (should be hidden)
def test_ignore_log_msg_filters_warning(capsys):
capsys.readouterr()
with ignore_log_msg(log, lvl="WARNING", msg="hide me"):
log.warning("hide me")
log.warning("keep me")
with ignore_log_msg(log, lvl="WARNING", msg="to ignore"):
log.warning("to ignore")
log.warning("keep this")
captured = capsys.readouterr().err
print("Captured 2:", repr(captured))
assert "hide me" not in captured
assert "keep me" in captured
# Log again after context (should be shown)
capsys.readouterr()
log.warning("hide me")
captured = capsys.readouterr().err
print("Captured 3:", repr(captured))
assert "hide me" in captured
assert "to ignore" not in captured
assert "keep this" in captured