Loom tenait le micro : Zonza enregistrait dans le vide. La forme d'onde restait plate et RIEN ne le signalait — on ne le decouvrait qu'apres avoir parle pour rien, puis en cherchant pourquoi le halo se figeait. Au bout de 1,8 s sans le moindre bloc audio, la bulle affiche « Aucun son — micro pris ailleurs ? » et un son d'erreur previent. Le delai laisse le temps au flux CoreAudio de s'ouvrir (quelques centaines de ms) sans laisser dicter une phrase entiere pour rien. Le garde `en_cours` evite le faux positif de la dictee tres courte : arreter avant la fin du delai n'est pas une panne. Verifie dans les deux sens : micro muet -> alerte, 0 bloc ; micro normal -> bulle inchangee, 40 blocs. Pas de faux positif. 74 tests passent. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
"""Detection d'un micro qui n'envoie rien.
|
|
|
|
Le 2026-08-21, Loom tenait le micro : Zonza enregistrait dans le vide. La forme
|
|
d'onde restait plate et rien ne le signalait — on ne le decouvrait qu'apres avoir
|
|
parle pour rien. Zonza doit le dire pendant, pas apres.
|
|
"""
|
|
import pytest
|
|
|
|
from core import CONFIG, entree_audio_muette
|
|
|
|
|
|
def test_aucun_bloc_apres_le_delai_est_muet():
|
|
assert entree_audio_muette(blocs_recus=0, en_cours=True) is True
|
|
|
|
|
|
def test_des_blocs_recus_ne_sont_pas_muets():
|
|
assert entree_audio_muette(blocs_recus=1, en_cours=True) is False
|
|
|
|
|
|
def test_on_n_alerte_pas_si_l_enregistrement_est_deja_fini():
|
|
# l'utilisateur a arrete avant le delai : ce n'est pas une panne
|
|
assert entree_audio_muette(blocs_recus=0, en_cours=False) is False
|
|
|
|
|
|
def test_le_delai_laisse_le_temps_au_flux_de_s_ouvrir():
|
|
# ouvrir un flux CoreAudio prend des centaines de ms ; alerter trop tot = faux positif
|
|
assert CONFIG["delai_detection_silence_s"] >= 1.0
|
|
|
|
|
|
def test_le_delai_reste_assez_court_pour_servir():
|
|
# au-dela, l'utilisateur a deja dicte sa phrase pour rien
|
|
assert CONFIG["delai_detection_silence_s"] <= 3.0
|