from __future__ import annotations from pathlib import Path import pytest @pytest.fixture(scope="session") def signalsim_validation_result(tmp_path_factory: pytest.TempPathFactory): source_candidates = [Path("signalsim/SignalSim"), Path("../SignalSim"), Path("../signalsim/SignalSim")] source = next((path.resolve() for path in source_candidates if (path / "IFdataGen" / "CMakeLists.txt").is_file()), None) if source is None: pytest.skip("local SignalSim checkout with IFdataGen/CMakeLists.txt is genuinely unavailable") from galileo_rx.verification.signalsim_validation import validate_signalsim output = tmp_path_factory.mktemp("signalsim_validation") report, passed = validate_signalsim(source, "configs/signalsim_validation.yaml", output, mode="full") return report, passed, output