first git
CI / ruff (push) Waiting to run
CI / mypy (push) Waiting to run
CI / pytest (push) Waiting to run
CI / package (push) Waiting to run
CI / Install smoke (${{ matrix.label }}) (linux, ubuntu-latest) (push) Blocked by required conditions
CI / Install smoke (${{ matrix.label }}) (macos-arm64, macos-14) (push) Blocked by required conditions
CI / ruff (push) Waiting to run
CI / mypy (push) Waiting to run
CI / pytest (push) Waiting to run
CI / package (push) Waiting to run
CI / Install smoke (${{ matrix.label }}) (linux, ubuntu-latest) (push) Blocked by required conditions
CI / Install smoke (${{ matrix.label }}) (macos-arm64, macos-14) (push) Blocked by required conditions
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
from queue import Queue
|
||||
from threading import Event
|
||||
|
||||
from speech_to_speech.pipeline.control import SESSION_END
|
||||
from speech_to_speech.pipeline.messages import EndOfResponse, TTSInput
|
||||
from speech_to_speech.TTS.qwen3_tts_handler import Qwen3TTSHandler
|
||||
|
||||
|
||||
def _make_handler():
|
||||
handler = object.__new__(Qwen3TTSHandler)
|
||||
handler.queue_in = Queue()
|
||||
handler.queue_out = Queue()
|
||||
handler.stop_event = Event()
|
||||
return handler
|
||||
|
||||
|
||||
def test_coalesce_pending_tts_input_merges_ready_sentences_and_absorbs_response_end():
|
||||
handler = _make_handler()
|
||||
|
||||
handler.queue_in.put(TTSInput(text="Second sentence.", language_code="en"))
|
||||
handler.queue_in.put(TTSInput(text="Third sentence.", language_code="en"))
|
||||
handler.queue_in.put(EndOfResponse())
|
||||
|
||||
text, lang, saw_end = handler._coalesce_pending_tts_input(TTSInput(text="First sentence.", language_code="en"))
|
||||
|
||||
assert text == "First sentence. Second sentence. Third sentence."
|
||||
assert lang == "en"
|
||||
assert saw_end is True
|
||||
remaining = handler.queue_in.get_nowait()
|
||||
assert isinstance(remaining, EndOfResponse)
|
||||
|
||||
|
||||
def test_coalesce_pending_tts_input_stops_before_control_messages():
|
||||
handler = _make_handler()
|
||||
|
||||
handler.queue_in.put(SESSION_END)
|
||||
text, lang, saw_end = handler._coalesce_pending_tts_input(TTSInput(text="Hello.", language_code="en"))
|
||||
|
||||
assert text == "Hello."
|
||||
assert lang == "en"
|
||||
assert saw_end is False
|
||||
assert handler.queue_in.get_nowait() == SESSION_END
|
||||
Reference in New Issue
Block a user