diff --git a/tests/functional/pyocf/types/logger.py b/tests/functional/pyocf/types/logger.py index 0fd6f91..d2989f4 100644 --- a/tests/functional/pyocf/types/logger.py +++ b/tests/functional/pyocf/types/logger.py @@ -1,5 +1,5 @@ # -# Copyright(c) 2019-2021 Intel Corporation +# Copyright(c) 2019-2022 Intel Corporation # SPDX-License-Identifier: BSD-3-Clause # @@ -160,13 +160,19 @@ class FileLogger(Logger): logger.handlers = [] -class BufferLogger(Logger): - def __init__(self, level: LogLevel): - super().__init__() - self.level = level +class BufferLogger(DefaultLogger): + def __init__( + self, + console_level: LogLevel = LogLevel.WARN, + buffer_level: LogLevel = LogLevel.DEBUG, + name: str = "" + ): + super().__init__(console_level, name) + self.level = buffer_level self.buffer = StringIO() def log(self, lvl, msg): + super().log(lvl, msg) if lvl < self.level: self.buffer.write(msg + "\n") diff --git a/tests/functional/tests/conftest.py b/tests/functional/tests/conftest.py index f61e187..c467d02 100644 --- a/tests/functional/tests/conftest.py +++ b/tests/functional/tests/conftest.py @@ -61,3 +61,18 @@ def pyocf_2_ctx(): c1.exit() c2.exit() gc.collect() + + +@pytest.fixture() +def pyocf_2_ctx_log_buffer(): + logger1 = BufferLogger(LogLevel.WARN, LogLevel.DEBUG, "Ctx1") + logger2 = BufferLogger(LogLevel.WARN, LogLevel.DEBUG, "Ctx2") + c1 = OcfCtx.with_defaults(logger1) + c2 = OcfCtx.with_defaults(logger2) + for vol_type in default_registered_volumes: + c1.register_volume_type(vol_type) + c2.register_volume_type(vol_type) + yield (c1, logger1, c2, logger2) + c1.exit() + c2.exit() + gc.collect()