"""Top-level pytest fixtures. Heavy fixtures (Postgres bring-up, ArduPilot SITL, Derkachi corpus mount) are added incrementally by the components that need them. AZ-263 ships only the smoke-level scaffolding. Tier-2-only tests are guarded by `pytest.mark.tier2` and auto-skipped on Tier-1. """ from __future__ import annotations import os import pytest def pytest_collection_modifyitems(config: pytest.Config, items: list[pytest.Item]) -> None: """Auto-skip `tier2` tests when GPS_DENIED_TIER != 2.""" if os.environ.get("GPS_DENIED_TIER") == "2": return skip_tier2 = pytest.mark.skip(reason="Tier-2-only test; set GPS_DENIED_TIER=2 to run") skip_gpu = pytest.mark.skip(reason="GPU-only test") skip_docker = pytest.mark.skip(reason="Requires Docker compose services") for item in items: if "tier2" in item.keywords: item.add_marker(skip_tier2) if "gpu" in item.keywords: item.add_marker(skip_gpu) if "docker" in item.keywords: item.add_marker(skip_docker)