diff --git a/deluge/conftest.py b/deluge/conftest.py index 51acc6a12..a544ca064 100644 --- a/deluge/conftest.py +++ b/deluge/conftest.py @@ -59,8 +59,9 @@ def mock_callback(): @pytest.fixture def config_dir(tmp_path): - deluge.configmanager.set_config_dir(tmp_path) - yield tmp_path + config_dir = tmp_path / 'config' + deluge.configmanager.set_config_dir(config_dir) + yield config_dir @pytest_twisted.async_yield_fixture() @@ -84,9 +85,10 @@ async def client(request, config_dir, monkeypatch, listen_port): @pytest_twisted.async_yield_fixture -async def daemon(request, config_dir): +async def daemon(request, config_dir, tmp_path): listen_port = DEFAULT_LISTEN_PORT - logfile = f'daemon_{request.node.name}.log' + logfile = tmp_path / 'daemon.log' + if hasattr(request.cls, 'daemon_custom_script'): custom_script = request.cls.daemon_custom_script else: diff --git a/deluge/tests/common.py b/deluge/tests/common.py index 0e82bf12b..b5941568d 100644 --- a/deluge/tests/common.py +++ b/deluge/tests/common.py @@ -113,7 +113,7 @@ class ProcessOutputHandler(protocol.ProcessProtocol): self.shutdown_func = shutdown_func self.log_output = '' self.stderr_out = '' - self.logfile = logfile.replace('/', '_') if logfile else None + self.logfile = logfile self.print_stdout = print_stdout self.print_stderr = print_stderr self.quit_d = None diff --git a/deluge/tests/daemon_base.py b/deluge/tests/daemon_base.py index 3ae86c4ca..707570f17 100644 --- a/deluge/tests/daemon_base.py +++ b/deluge/tests/daemon_base.py @@ -4,8 +4,6 @@ # See LICENSE for more details. # -import os.path - import pytest from twisted.internet import defer from twisted.internet.error import CannotListenError @@ -43,15 +41,7 @@ class DaemonBase: port_range=10, extra_callbacks=None, ): - if logfile == '': - logfile = 'daemon_%s.log' % self.id() - - # We are running py.test - if hasattr(pytest, 'config'): - if self.basetemp: - if not os.path.exists(self.basetemp): - os.makedirs(self.basetemp) - logfile = os.path.join(self.basetemp, logfile) + logfile = f'daemon_{self.id()}.log' if logfile == '' else logfile for dummy in range(port_range): try: diff --git a/deluge/tests/test_ui_entry.py b/deluge/tests/test_ui_entry.py index 3e7ce54b6..5a6d0b771 100644 --- a/deluge/tests/test_ui_entry.py +++ b/deluge/tests/test_ui_entry.py @@ -58,7 +58,7 @@ class StringFileDescriptor: class UIBaseTestCase: def set_up(self): - common.setup_test_logger(level='info', prefix=self.id()) + common.setup_test_logger(level='info', prefix=self.config_dir / self.id()) return component.start() def tear_down(self): @@ -75,7 +75,7 @@ class UIWithDaemonBaseTestCase(UIBaseTestCase, DaemonBase): def set_up(self): d = self.common_set_up() - common.setup_test_logger(level='info', prefix=self.id()) + common.setup_test_logger(level='info', prefix=self.config_dir / self.id()) return d