[全双工依赖接入]:完成真实APM依赖安装和接线,包含aec-audio-processing、音频自测和最终门禁
This commit is contained in:
@@ -85,9 +85,10 @@ class CliAcceptanceTests(unittest.TestCase):
|
||||
self.assertTrue(data["success"])
|
||||
self.assertEqual(data["command"], "run-agent-live")
|
||||
self.assertEqual(data["assistant_mode"], "full_duplex_agent")
|
||||
self.assertFalse(data["full_duplex_runtime_ready"])
|
||||
self.assertTrue(data["full_duplex_runtime_ready"])
|
||||
self.assertEqual(data["audio_apm_provider"], "webrtc")
|
||||
self.assertEqual(data["audio_apm_error_code"], "AUDIO_APM_UNAVAILABLE")
|
||||
self.assertEqual(data["audio_apm_error_code"], "")
|
||||
self.assertTrue(data["audio_apm_available"])
|
||||
self.assertTrue(data["llm_streaming_enabled"])
|
||||
self.assertEqual(data["turn_based_entry"], "run-live")
|
||||
|
||||
@@ -215,16 +216,22 @@ class CliAcceptanceTests(unittest.TestCase):
|
||||
self.assertTrue(data["checks"]["barge_in"])
|
||||
self.assertTrue(data["checks"]["tool_router"])
|
||||
|
||||
def test_audio_self_test_reports_missing_required_apm(self) -> None:
|
||||
def test_audio_self_test_reports_missing_required_apm_when_probe_fails(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
code, data = self.call(
|
||||
"--env-file",
|
||||
str(Path(tmp) / ".env"),
|
||||
"audio-self-test",
|
||||
"--duration",
|
||||
"1",
|
||||
"--check-echo",
|
||||
)
|
||||
with patch("owner_voice_pet.full_duplex_audio.webrtc_apm_probe") as probe:
|
||||
probe.return_value = type(
|
||||
"Health",
|
||||
(),
|
||||
{"available": False, "provider": "webrtc", "message": "missing binding"},
|
||||
)()
|
||||
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"])
|
||||
|
||||
Reference in New Issue
Block a user