From eebe01790d2799fd23bc5588960ac5901efea2e7 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Sun, 23 Aug 2026 03:19:39 -0700 Subject: [PATCH] test: pin the relay verdict, not the host-dependent reason string MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI has no faster-whisper and lazy installs disabled, so the 'local' provider resolves through a different unavailability branch than a dev box — the reason string differs but the relay verdict (and no key in the payload) is the actual contract. --- tests/tools/test_voice_client_config.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/tools/test_voice_client_config.py b/tests/tools/test_voice_client_config.py index bafdd18847..ac9a0d4674 100644 --- a/tests/tools/test_voice_client_config.py +++ b/tests/tools/test_voice_client_config.py @@ -92,8 +92,11 @@ def test_language_pin_propagates(voice_home, monkeypatch): def test_local_whisper_relays(voice_home): voice_home({"stt": {"provider": "local"}}) stt = _resolve()["stt"] + # The CONTRACT is the verdict: a server-host-only provider must relay. + # The reason string varies with the host (faster-whisper installed vs + # not, lazy installs allowed vs not) — don't pin it. assert stt["mode"] == "relay" - assert "local" in stt["reason"] + assert "api_key" not in stt def test_missing_credentials_relay(voice_home):