La sonde CUDA reconnait aussi les DLL Windows

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-23 18:10:23 +02:00
co-authored by Claude Opus 5
parent 734bba31da
commit 5f83e4c6a3
2 changed files with 71 additions and 7 deletions
+35
View File
@@ -29,3 +29,38 @@ def test_un_moteur_inconnu_est_refuse_clairement():
with pytest.raises(NotImplementedError) as e:
choisir_transcripteur(nom="vosk", modele="x", langue="fr", amorce="")
assert "vosk" in str(e.value)
# --- Sonde CUDA : le nom de la bibliothèque partagée diffère par OS et par version.
# Ces tests injectent une doublure de chargeur pour rester exécutables depuis
# n'importe quelle machine, sans jamais dépendre d'une vraie installation CUDA.
from moteur import _cuda_disponible
def test_cuda_reconnue_sur_windows_via_dll_versionnee():
def charger(nom):
if nom == "cudart64_12.dll":
return object()
raise OSError(f"introuvable : {nom}")
assert _cuda_disponible(plateforme="win32", charger=charger) is True
def test_cuda_absente_sur_windows_si_aucune_dll_ne_charge():
def charger(nom):
raise OSError(f"introuvable : {nom}")
assert _cuda_disponible(plateforme="win32", charger=charger) is False
def test_cuda_reconnue_sur_linux_darwin_via_so():
def charger(nom):
if nom == "libcudart.so":
return object()
raise OSError(f"introuvable : {nom}")
assert _cuda_disponible(plateforme="linux", charger=charger) is True
assert _cuda_disponible(plateforme="darwin", charger=charger) is True
def test_cuda_sonde_ne_leve_jamais_meme_si_le_chargeur_explose():
def charger(nom):
raise RuntimeError("chargeur casse, pas seulement OSError")
assert _cuda_disponible(plateforme="win32", charger=charger) is False