Spaces:
Running
Running
File size: 1,532 Bytes
55604fe c862b13 55604fe c862b13 fcdb282 c862b13 fcdb282 c862b13 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import sys
import numpy as np
from hermesbody.main import audio_sample_to_pcm16_bytes, parse_args, pcm16_bytes_to_float32_audio, resolve_audio_backend
def test_cli_parser_exposes_audio_transport_subcommands_without_optional_imports(monkeypatch):
monkeypatch.setitem(sys.modules, "google.genai", None)
monkeypatch.setitem(sys.modules, "websockets", None)
server = parse_args(["gemini-server", "--host", "127.0.0.1", "--port", "8766", "--token", "test-token"])
client = parse_args(["reachy-audio-client", "--server", "ws://127.0.0.1:8766", "--token", "test-token"])
assert server.command == "gemini-server"
assert server.host == "127.0.0.1"
assert server.port == 8766
assert client.command == "reachy-audio-client"
assert client.server == "ws://127.0.0.1:8766"
def test_audio_backend_auto_defaults_to_packaged_mac_mini_bridge(monkeypatch):
monkeypatch.delenv("HERMESBODY_AUDIO_WS_URL", raising=False)
assert resolve_audio_backend("auto", "") == "gemini_ws"
assert resolve_audio_backend("auto", "ws://10.0.0.192:8877") == "gemini_ws"
assert resolve_audio_backend("gemini_ws", "") == "gemini_ws"
def test_pcm_helpers_convert_reachy_float_audio_to_wire_pcm16_and_back():
sample = np.array([-1.0, 0.0, 1.0], dtype="float32")
pcm = audio_sample_to_pcm16_bytes(sample)
decoded = pcm16_bytes_to_float32_audio(pcm)
assert len(pcm) == 6
assert decoded.dtype == np.float32
assert decoded[0] < -0.99
assert decoded[1] == 0.0
assert decoded[2] > 0.99
|