From 7d28b7eb52ee6052a8e63b6356901bcba85080fe Mon Sep 17 00:00:00 2001 From: Artem Akymenko Date: Wed, 22 Jul 2026 15:21:26 +0000 Subject: [PATCH] test: mock subprocess.Popen in test_executor_m4b_forces_merge to eliminate ffmpeg dependency --- tests/test_application_coverage.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/test_application_coverage.py b/tests/test_application_coverage.py index a8af639..798de2c 100644 --- a/tests/test_application_coverage.py +++ b/tests/test_application_coverage.py @@ -432,10 +432,17 @@ class TestExecutorGaps: with pytest.raises(ValueError, match="output_layout"): execute_conversion(plan, events, pipeline, resolver, tts_context) - def test_executor_m4b_forces_merge(self): + @patch("subprocess.Popen") + def test_executor_m4b_forces_merge(self, mock_popen): """Executor forces merge for m4b format.""" from abogen.application.conversion_executor import execute_conversion + mock_proc = mock_popen.return_value + mock_proc.returncode = 0 + mock_proc.wait.return_value = 0 + mock_proc.stdin = MagicMock() + mock_proc.communicate.return_value = (b"", b"") + with tempfile.TemporaryDirectory() as tmpdir: req = ConversionRequest( direct_text="Hello",