From 3ff64d5d465476cb4808ec8e4d3405230190e7e2 Mon Sep 17 00:00:00 2001 From: jbannon Date: Tue, 7 Jun 2022 07:24:35 +0000 Subject: [PATCH] fix logger unit tests --- src/ytdl_sub/utils/logger.py | 3 ++- tests/unit/utils/test_logger.py | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/ytdl_sub/utils/logger.py b/src/ytdl_sub/utils/logger.py index f3208034..90dfc49b 100644 --- a/src/ytdl_sub/utils/logger.py +++ b/src/ytdl_sub/utils/logger.py @@ -74,7 +74,8 @@ class StreamToLogger(io.StringIO): """ Writes to the logger and stream """ - self._logger.info(__s.removesuffix("\n")) + if __s != "\n": + self._logger.info(__s.removesuffix("\n")) return super().write(__s) diff --git a/tests/unit/utils/test_logger.py b/tests/unit/utils/test_logger.py index ccd33a3d..4bdde4cc 100644 --- a/tests/unit/utils/test_logger.py +++ b/tests/unit/utils/test_logger.py @@ -92,6 +92,10 @@ class TestLogger: ) def test_handle_external_logs(self, capsys, log_level, expected_stdout): Logger._LOGGER_LEVEL = log_level + expected_lines = [ + "[ytdl-sub:name_test] test line 1\n", + "[ytdl-sub:name_test] test line 2\n", + ] with Logger.handle_external_logs(name="name_test"): print("test line 1") print("test line 2") @@ -99,11 +103,11 @@ class TestLogger: # Ensure it goes to stdout only if it is expected to captured = capsys.readouterr() if expected_stdout: - assert captured.out == "[ytdl-sub:name_test] test line 1\ntest line 2\n\n" + assert captured.out == "".join(expected_lines) else: assert not captured.out # Ensure it always go to the debug file with open(Logger._DEBUG_LOGGER_FILE.name, "r", encoding="utf-8") as log_file: lines = log_file.readlines() - assert lines == ["[ytdl-sub:name_test] test line 1\n", "test line 2\n", "\n"] + assert lines == expected_lines