[Test] Cleanup for helpers (#6523)
Signed-off-by: wangyu <410167048@qq.com> Signed-off-by: [Your Name] <your.email@example.com> Co-authored-by: amy-why-3459 <wuhaiyan17@huawei.com>
This commit is contained in:
1 parent
8360346a66
commit
4af0ddc1c2
140 files changed
+4121
-4194
No files matched your search
@@ -1,4 +1,5 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# SPDX-FileCopyrightText: Copyright contributors to the vLLM-Omni project
|
||||
"""Unit tests for the TTS serving adapter registry (RFC #4327).
|
||||
|
||||
Pure-Python registry/resolution logic; no model or GPU resources are loaded.
|
||||
@@ -6,6 +7,7 @@ Pure-Python registry/resolution logic; no model or GPU resources are loaded.
|
||||
|
||||
import asyncio
|
||||
from types import SimpleNamespace
|
||||
from typing import Any
|
||||
|
||||
import pytest
|
||||
|
||||
@@ -17,6 +19,7 @@ from vllm_omni.entrypoints.openai.tts_adapters import (
|
||||
detect_tts_model_type,
|
||||
resolve_adapter,
|
||||
)
|
||||
from vllm_omni.entrypoints.openai.tts_adapters.higgs_audio_v2 import HiggsAudioV2Adapter
|
||||
from vllm_omni.entrypoints.openai.tts_adapters.indextts2 import (
|
||||
IndexTTS2Adapter,
|
||||
IndexTTS25Adapter,
|
||||
@@ -234,5 +237,58 @@ def test_diffusion_adapter_extra_body_params_fallback():
|
||||
assert _DiffAdapter.extra_body_params() == frozenset()
|
||||
|
||||
|
||||
def _higgs_v2_adapter() -> HiggsAudioV2Adapter:
|
||||
server = SimpleNamespace(
|
||||
_apply_uploaded_speaker=lambda request: None,
|
||||
uploaded_speakers={},
|
||||
)
|
||||
return HiggsAudioV2Adapter(SimpleNamespace(server=server))
|
||||
|
||||
|
||||
def _higgs_v2_request(**overrides: Any) -> SimpleNamespace:
|
||||
fields: dict[str, Any] = {
|
||||
"input": "Hello world.",
|
||||
"ref_audio": None,
|
||||
"ref_text": None,
|
||||
"voice": None,
|
||||
"x_vector_only_mode": None,
|
||||
"speaker_embedding": None,
|
||||
"instructions": None,
|
||||
"task_type": None,
|
||||
"language": None,
|
||||
"speed": None,
|
||||
"max_new_tokens": None,
|
||||
}
|
||||
fields.update(overrides)
|
||||
return SimpleNamespace(**fields)
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"overrides, err_substr",
|
||||
[
|
||||
pytest.param({"ref_audio": "data:audio/wav;base64,AA=="}, "ref_text", id="ref_audio_without_ref_text"),
|
||||
pytest.param({"ref_text": "some transcript"}, "ref_audio", id="ref_text_without_ref_audio"),
|
||||
pytest.param({"task_type": "Base"}, "task_type", id="task_type"),
|
||||
pytest.param({"language": "Chinese"}, "language", id="language_override"),
|
||||
pytest.param({"input": "[SPEAKER0] hi"}, "multi-speaker", id="multi_speaker_tag"),
|
||||
pytest.param({"input": " "}, "empty", id="input_whitespace_only"),
|
||||
],
|
||||
)
|
||||
def test_higgs_audio_v2_validate_rejects_out_of_scope_fields(overrides: dict[str, object], err_substr: str) -> None:
|
||||
"""Adapter-only policy checks formerly covered by invalid_param e2e on a live V2 server."""
|
||||
adapter = _higgs_v2_adapter()
|
||||
err = adapter.validate(_higgs_v2_request(**overrides))
|
||||
assert err is not None
|
||||
assert err_substr.lower() in err.lower()
|
||||
|
||||
|
||||
def test_higgs_audio_v2_validate_accepts_plain_text_and_paired_clone() -> None:
|
||||
adapter = _higgs_v2_adapter()
|
||||
assert adapter.validate(_higgs_v2_request()) is None
|
||||
assert (
|
||||
adapter.validate(_higgs_v2_request(ref_audio="data:audio/wav;base64,AA==", ref_text="some transcript")) is None
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
pytest.main([__file__, "-v"])
|
||||
Reference in new issue
Block a user