| """Repo-wide pytest fixtures. |
| |
| Pins MLflow's tracking URI to a per-session tmp directory so pipeline tests |
| don't litter `./mlruns/` in the working tree, and so test runs are isolated |
| from production MLflow state. |
| """ |
| from __future__ import annotations |
|
|
| import os |
| import tempfile |
| from pathlib import Path |
| from typing import Iterator |
|
|
| import pytest |
|
|
|
|
| @pytest.fixture(autouse=True, scope="session") |
| def _isolate_mlflow_tracking_uri() -> Iterator[None]: |
| tmp_root = Path(tempfile.mkdtemp(prefix="mlflow_test_")) |
| os.environ["MLFLOW_TRACKING_URI"] = tmp_root.as_uri() |
| yield |
| |
| |
|
|