La sonde CUDA reconnait aussi les DLL Windows
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user