[全双工自测]:完成Agent自我测试体系,包含回声、打断、记忆和工具场景
This commit is contained in:
@@ -207,6 +207,50 @@ class CliAcceptanceTests(unittest.TestCase):
|
||||
self.assertFalse(kwargs["play_audio"])
|
||||
self.assertEqual(kwargs["questions"], ["第一问"])
|
||||
|
||||
def test_agent_self_test_runs_full_duplex_profile(self) -> None:
|
||||
code, data = self.call("agent-self-test", "--profile", "full-duplex", "--turns", "3")
|
||||
|
||||
self.assertEqual(code, 0)
|
||||
self.assertTrue(data["success"])
|
||||
self.assertTrue(data["checks"]["barge_in"])
|
||||
self.assertTrue(data["checks"]["tool_router"])
|
||||
|
||||
def test_audio_self_test_reports_missing_required_apm(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
code, data = self.call(
|
||||
"--env-file",
|
||||
str(Path(tmp) / ".env"),
|
||||
"audio-self-test",
|
||||
"--duration",
|
||||
"1",
|
||||
"--check-echo",
|
||||
)
|
||||
|
||||
self.assertEqual(code, 1)
|
||||
self.assertFalse(data["success"])
|
||||
self.assertEqual(data["apm"]["error_code"], "AUDIO_APM_UNAVAILABLE")
|
||||
|
||||
def test_audio_self_test_can_use_fake_apm_for_deterministic_check(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
env_file = Path(tmp) / ".env"
|
||||
env_file.write_text(
|
||||
"OWNER_AUDIO_APM_PROVIDER=fake\nOWNER_AUDIO_APM_REQUIRED=0\n",
|
||||
encoding="utf-8",
|
||||
)
|
||||
code, data = self.call(
|
||||
"--env-file",
|
||||
str(env_file),
|
||||
"audio-self-test",
|
||||
"--duration",
|
||||
"1",
|
||||
"--check-echo",
|
||||
)
|
||||
|
||||
self.assertEqual(code, 0)
|
||||
self.assertTrue(data["success"])
|
||||
self.assertTrue(data["echo"]["suppressed"])
|
||||
self.assertEqual(data["apm"]["provider"], "fake_webrtc")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user