Skip to content
Snippets Groups Projects

Add pytest-xdist for parallel test execution

Merged Mohammad Torkashvand requested to merge feature/run-test-in-parallel into develop
All threads resolved!
Compare and
5 files
+ 18
15
Compare changes
  • Side-by-side
  • Inline
Files
5
+ 9
3
@@ -142,8 +142,14 @@ def data_config_filename() -> str:
@@ -142,8 +142,14 @@ def data_config_filename() -> str:
@pytest.fixture(scope="session")
@pytest.fixture(scope="session")
def db_uri():
def db_uri():
"""Provide the database uri configuration to run the migration on."""
"""Provide a unique database URI for each pytest-xdist worker, or a default URI if running without xdist."""
return os.environ.get("DATABASE_URI_TEST", "postgresql://nwa:nwa@localhost/gso-test-db")
worker_id = os.getenv("PYTEST_XDIST_WORKER")
 
database_host = os.getenv("DATABASE_HOST", "localhost")
 
 
if worker_id:
 
return f"postgresql://nwa:nwa@{database_host}/gso-test-db_{worker_id}"
 
 
return os.environ.get("DATABASE_URI_TEST", f"postgresql://nwa:nwa@{database_host}/gso-test-db")
def run_migrations(db_uri: str) -> None:
def run_migrations(db_uri: str) -> None:
@@ -281,7 +287,7 @@ def partner_factory():
@@ -281,7 +287,7 @@ def partner_factory():
return _create_partner
return _create_partner
@pytest.fixture(scope="session")
@pytest.fixture()
def geant_partner(partner_factory):
def geant_partner(partner_factory):
return partner_factory(name="GEANT-TEST", email="goat-test@geant.org")
return partner_factory(name="GEANT-TEST", email="goat-test@geant.org")
Loading