def test_logLevelArguments():
p = ArgumentParser(add_log_args=True)
# Invalids
for args, Exc in [(["-l"], SystemExit), (["--log-level"], SystemExit),
(["-l", "Vision-InTheBlinkOfAnEye"], ValueError),
(["-l", "debug:TheOnlyOne"], ValueError),
]:
with pytest.raises(Exc):
p.parse_args(args)
# Level sets on root logger.
for args, level in [(["-l", "debug"], logging.DEBUG),
(["-lerror"], logging.ERROR),
(["--log-level", "warning"], logging.WARN),
(["--log-level=critical"], logging.CRITICAL),
(["--log-level=verbose"], logging.VERBOSE),
]:
p.parse_args(args)
logger = getLogger()
assert logger.getEffectiveLevel() == level
# Level sets on other logger.
for args, level, log in [
(["-l", "Venom:debug"], logging.DEBUG, "Venom"),
(["-lWatain:eRroR"], logging.ERROR, "Watain"),
(["--log-level", "l1:WARNING"], logging.WARN, "l1"),
(["--log-level=nicfit:critical"], logging.CRITICAL, "nicfit"),
(["--log-level=eyeD3:verbose"], logging.VERBOSE, "eyeD3"),
]:
logger = getLogger(log)
with patch.object(logger, "setLevel") as mock_log:
p.parse_args(args)
mock_log.assert_called_with(level)
评论列表
文章目录