summaryrefslogtreecommitdiff
path: root/src/_pytest/logging.py
diff options
context:
space:
mode:
authorRan Benita <ran@unusedvar.com>2020-08-22 17:23:26 +0300
committerRan Benita <ran@unusedvar.com>2020-08-22 17:46:23 +0300
commitb1354608cca2134e9f791fb900baa2efbba155cf (patch)
tree67f77efe3ab6c78191d6c77607ab598e55704dd9 /src/_pytest/logging.py
parentd69abff2c7de8bc65b7f1ef867dec5b5b9c564bd (diff)
downloadpytest-b1354608cca2134e9f791fb900baa2efbba155cf.tar.gz
logging: fix handler level restored incorrectly if caplog.set_level is called more than once
Diffstat (limited to 'src/_pytest/logging.py')
-rw-r--r--src/_pytest/logging.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/_pytest/logging.py b/src/_pytest/logging.py
index 5dfd47887..95226e8cc 100644
--- a/src/_pytest/logging.py
+++ b/src/_pytest/logging.py
@@ -439,7 +439,8 @@ class LogCaptureFixture:
# Save the original log-level to restore it during teardown.
self._initial_logger_levels.setdefault(logger, logger_obj.level)
logger_obj.setLevel(level)
- self._initial_handler_level = self.handler.level
+ if self._initial_handler_level is None:
+ self._initial_handler_level = self.handler.level
self.handler.setLevel(level)
@contextmanager