From 660171c4fdadcb798d27e5ac4f21c9d3c41aa896 Mon Sep 17 00:00:00 2001 From: Jesse Bannon Date: Tue, 7 Mar 2023 17:09:49 -0800 Subject: [PATCH] fix log flush and clean per test --- src/ytdl_sub/utils/logger.py | 9 ++++++--- tests/conftest.py | 11 +++++++++++ tests/unit/utils/test_logger.py | 7 ------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/ytdl_sub/utils/logger.py b/src/ytdl_sub/utils/logger.py index ba686d75..eb684049 100644 --- a/src/ytdl_sub/utils/logger.py +++ b/src/ytdl_sub/utils/logger.py @@ -196,9 +196,12 @@ class Logger: ) with StreamToLogger(logger=logger) as redirect_stream: - with contextlib.redirect_stdout(new_target=redirect_stream): - with contextlib.redirect_stderr(new_target=redirect_stream): - yield + try: + with contextlib.redirect_stdout(new_target=redirect_stream): + with contextlib.redirect_stderr(new_target=redirect_stream): + yield + finally: + redirect_stream.flush() @classmethod def log_exit_exception(cls, exception: Exception, log_filepath: Optional[Path] = None): diff --git a/tests/conftest.py b/tests/conftest.py index a38e8c03..5fae5a81 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -14,6 +14,17 @@ import pytest from ytdl_sub.utils.file_handler import FileHandler from ytdl_sub.utils.logger import Logger +from ytdl_sub.utils.logger import LoggerLevels + + +@pytest.fixture(autouse=True) +def cleanup_debug_file(): + """ + Clean logs after every test + """ + Logger.set_log_level(log_level_name=LoggerLevels.DEBUG.name) + yield + Logger.cleanup() @pytest.fixture diff --git a/tests/unit/utils/test_logger.py b/tests/unit/utils/test_logger.py index 9cfdb092..0062b27a 100644 --- a/tests/unit/utils/test_logger.py +++ b/tests/unit/utils/test_logger.py @@ -6,13 +6,6 @@ from ytdl_sub.utils.logger import Logger from ytdl_sub.utils.logger import LoggerLevels -@pytest.fixture(autouse=True) -def cleanup_debug_file(): - Logger.set_log_level(log_level_name=LoggerLevels.DEBUG.name) - yield - Logger.cleanup() - - class TestLogger: @pytest.mark.parametrize( "log_level",