caplog un-disable logging, add missing test coverage
- Adds test coverage for `force_enable_logging` with a string `level`. Fixes [code coverage check](https://github.com/pytest-dev/pytest/pull/8758/checks?check_run_id=4123920877) Issue: https://github.com/pytest-dev/pytest/issues/8711 PR: https://github.com/pytest-dev/pytest/pull/8758
This commit is contained in:
parent
bc5a27f208
commit
150914d70a
|
@ -185,6 +185,39 @@ def test_with_statement_logging_disabled(caplog, cleanup_disabled_logging):
|
||||||
assert logging.root.manager.disable == logging.CRITICAL
|
assert logging.root.manager.disable == logging.CRITICAL
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"level_str,expected_disable_level",
|
||||||
|
[
|
||||||
|
("CRITICAL", logging.ERROR),
|
||||||
|
("ERROR", logging.WARNING),
|
||||||
|
("WARNING", logging.INFO),
|
||||||
|
("INFO", logging.DEBUG),
|
||||||
|
("DEBUG", logging.NOTSET),
|
||||||
|
("NOTSET", logging.NOTSET),
|
||||||
|
("NOTVALIDLEVEL", logging.NOTSET),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_force_enable_logging_level_string(
|
||||||
|
caplog, cleanup_disabled_logging, level_str, expected_disable_level
|
||||||
|
):
|
||||||
|
"""Test force_enable_logging using a level string.
|
||||||
|
|
||||||
|
``expected_disable_level`` is one level below ``level_str`` because the disabled log level
|
||||||
|
always needs to be *at least* one level lower than the level that caplog is trying to capture.
|
||||||
|
"""
|
||||||
|
test_logger = logging.getLogger("test_str_level_force_enable")
|
||||||
|
# Emulate a testing environment where all logging is disabled.
|
||||||
|
logging.disable(logging.CRITICAL)
|
||||||
|
# Make sure all logging is disabled.
|
||||||
|
assert not test_logger.isEnabledFor(logging.CRITICAL)
|
||||||
|
# Un-disable logging for `level_str`.
|
||||||
|
caplog.force_enable_logging(level_str, test_logger)
|
||||||
|
# Make sure that the disabled level is now one below the requested logging level.
|
||||||
|
# We don't use `isEnabledFor` here because that also checks the level set by
|
||||||
|
# `logging.setLevel()` which is irrelevant to `logging.disable()`.
|
||||||
|
assert test_logger.manager.disable == expected_disable_level
|
||||||
|
|
||||||
|
|
||||||
def test_log_access(caplog):
|
def test_log_access(caplog):
|
||||||
caplog.set_level(logging.INFO)
|
caplog.set_level(logging.INFO)
|
||||||
logger.info("boo %s", "arg")
|
logger.info("boo %s", "arg")
|
||||||
|
|
Loading…
Reference in New Issue