This commit is contained in:
+15
-37
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user