CI: jawne pobranie jądra efemeryd + brak silnika = błąd zamiast pomijania
Pierwszy run CI dał 59 passed / 20 skipped zamiast 78/1: auto-pobranie jądra przez Skyfield nie powiodło się na runnerze, więc testy referencyjne (walidacja względem astro.com) cicho znikały. - workflow: jawne pobranie de421.bsp curlem z ssd.jpl.nasa.gov (naif zwraca 404), z retry; EPHEMERIS_DIR wskazany explicite; pytest z -rs (widoczne powody skipów). - conftest: gdy CI=true, niedostępny silnik kończy się pytest.fail zamiast skip — żeby utrata pokrycia nigdy więcej nie przeszła niezauważona. Lokalnie (dev bez pobranego jądra) nadal łagodny skip. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,7 @@ służą jako wyrocznia (LOG-25).
|
||||
from __future__ import annotations
|
||||
|
||||
import datetime as dt
|
||||
import os
|
||||
|
||||
import pytest
|
||||
|
||||
@@ -28,4 +29,8 @@ def own_engine():
|
||||
try:
|
||||
return SkyfieldEngine()
|
||||
except Exception as e: # brak efemeryd / brak sieci
|
||||
# Lokalnie pomijamy (dev bez pobranego jądra), ale w CI to musi być błąd —
|
||||
# inaczej testy referencyjne (walidacja względem astro.com) cicho znikają.
|
||||
if os.getenv("CI"):
|
||||
pytest.fail(f"CI: silnik efemeryd niedostępny — testy referencyjne muszą działać: {e}")
|
||||
pytest.skip(f"Nie można wczytać efemeryd: {e}")
|
||||
|
||||
Reference in New Issue
Block a user