"""宿主机 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()