diff --git a/test_runner/fixtures/neon_fixtures.py b/test_runner/fixtures/neon_fixtures.py index 59dd21f84c..b3e4809f24 100644 --- a/test_runner/fixtures/neon_fixtures.py +++ b/test_runner/fixtures/neon_fixtures.py @@ -286,7 +286,7 @@ def port_distributor(worker_base_port: int) -> PortDistributor: return PortDistributor(base_port=worker_base_port, port_number=WORKER_PORT_NUM) -@pytest.fixture(scope="function") +@pytest.fixture(scope="session") def default_broker( request: FixtureRequest, port_distributor: PortDistributor, @@ -296,8 +296,9 @@ def default_broker( # multiple pytest sessions could get launched in parallel, get them different ports/datadirs client_port = port_distributor.get_port() broker_logfile = ( - get_test_repo_dir(request, top_output_dir) / f"storage_broker.log" + get_test_output_dir(request, top_output_dir) / f"storage_broker_{client_port}.log" ) + broker_logfile.parents[0].mkdir(exist_ok=True, parents=True) broker = NeonBroker(logfile=broker_logfile, port=client_port, neon_binpath=neon_binpath) yield broker @@ -1011,7 +1012,7 @@ def _shared_simple_env( if os.environ.get("TEST_SHARED_FIXTURES") is None: # Create the environment in the per-test output directory - repo_dir = get_test_repo_dir(request, top_output_dir) + repo_dir = get_test_output_dir(request, top_output_dir) / "repo" else: # We're running shared fixtures. Share a single directory. repo_dir = top_output_dir / "shared_repo" @@ -2790,9 +2791,6 @@ def get_test_output_dir(request: FixtureRequest, top_output_dir: Path) -> Path: return test_dir -def get_test_repo_dir(request: FixtureRequest, top_output_dir: Path) -> Path: - return get_test_output_dir(request, top_output_dir) / "repo" - def pytest_addoption(parser: Parser): parser.addoption( "--preserve-database-files",