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