ASR-demo/tests/test_serve.py

44 lines
1.6 KiB
Python
Raw Permalink Normal View History

2026-09-10 05:47:09 +00:00
"""宿主机 VLLM 启动配置测试。"""
from __future__ import annotations
import os
import unittest
from pathlib import Path
from unittest.mock import patch
from scripts.serve import SERVER_PORT, build_parser, build_server_command
class ServeConfigTests(unittest.TestCase):
def test_host_and_startup_loop_are_read_from_environment(self) -> None:
values = {
"VLLM_HOST": "192.168.1.10",
"VLLM_DISPLAY_HOST": "asr.local",
"VLLM_STARTUP_CHECK_LOOPS": "12",
"VLLM_STARTUP_CHECK_INTERVAL_SECONDS": "0.5",
}
with patch.dict(os.environ, values, clear=False):
parser = build_parser()
args = parser.parse_args([])
self.assertEqual(args.host, "192.168.1.10")
self.assertEqual(SERVER_PORT, 9950)
self.assertNotIn("--port", parser.format_help())
self.assertEqual(args.display_host, "asr.local")
self.assertEqual(args.startup_check_loops, 12)
self.assertEqual(args.startup_check_interval, 0.5)
@patch("scripts.serve.shutil.which", return_value="/opt/asr-gb10/bin/vllm")
def test_builds_native_vllm_serve_command(self, _which: object) -> None:
"""启动器应生成已验证的新版 vllm serve 命令。"""
args = build_parser().parse_args([])
command = build_server_command(args, "Qwen/Qwen3-ASR-0.6B", Path("/models/Qwen3-ASR-0.6B"))
self.assertEqual(command[0:3], ["/opt/asr-gb10/bin/vllm", "serve", str(Path("/models/Qwen3-ASR-0.6B"))])
self.assertIn("--enforce-eager", command)
self.assertIn("9950", command)
if __name__ == "__main__":
unittest.main()