Mercurial > hg > auditok
changeset 285:5515a3fb85d4
Use TemporaryDirectory to export test audio files in tests/test_cmdline_util.py
author | Amine Sehili <amine.sehili@gmail.com> |
---|---|
date | Thu, 03 Oct 2019 20:19:40 +0100 |
parents | 7852e8eb4325 |
children | fbcbf6478b30 |
files | tests/test_cmdline_util.py |
diffstat | 1 files changed, 118 insertions(+), 106 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test_cmdline_util.py Wed Oct 02 21:04:26 2019 +0100 +++ b/tests/test_cmdline_util.py Thu Oct 03 20:19:40 2019 +0100 @@ -196,124 +196,136 @@ def test_initialize_workers_all(self): with patch("auditok.cmdline_util.player_for") as patched_player_for: - reader, observers = initialize_workers( - input="tests/data/test_16KHZ_mono_400Hz.wav", - save_stream="output.wav", - export_format="wave", - save_detections_as="{id}.wav", - echo=True, - progress_bar=False, - command="some command", - quiet=False, - printf="abcd", - time_format="%S", - timestamp_format="%h:%M:%S", - ) - reader.stop() - self.assertTrue(patched_player_for.called) - self.assertIsInstance(reader, StreamSaverWorker) - for obs, cls in zip( - observers, - [ - RegionSaverWorker, - PlayerWorker, - CommandLineWorker, - PrintWorker, - ], - ): - self.assertIsInstance(obs, cls) + with TemporaryDirectory() as tmpdir: + export_filename = os.path.join(tmpdir, "output.wav") + reader, observers = initialize_workers( + input="tests/data/test_16KHZ_mono_400Hz.wav", + save_stream=export_filename, + export_format="wave", + save_detections_as="{id}.wav", + echo=True, + progress_bar=False, + command="some command", + quiet=False, + printf="abcd", + time_format="%S", + timestamp_format="%h:%M:%S", + ) + reader.stop() + self.assertTrue(patched_player_for.called) + self.assertIsInstance(reader, StreamSaverWorker) + for obs, cls in zip( + observers, + [ + RegionSaverWorker, + PlayerWorker, + CommandLineWorker, + PrintWorker, + ], + ): + self.assertIsInstance(obs, cls) def test_initialize_workers_no_RegionSaverWorker(self): with patch("auditok.cmdline_util.player_for") as patched_player_for: - reader, observers = initialize_workers( - input="tests/data/test_16KHZ_mono_400Hz.wav", - save_stream="output.wav", - export_format="wave", - save_detections_as=None, - echo=True, - progress_bar=False, - command="some command", - quiet=False, - printf="abcd", - time_format="%S", - timestamp_format="%h:%M:%S", - ) - reader.stop() - self.assertTrue(patched_player_for.called) - self.assertIsInstance(reader, StreamSaverWorker) - for obs, cls in zip( - observers, [PlayerWorker, CommandLineWorker, PrintWorker] - ): - self.assertIsInstance(obs, cls) + with TemporaryDirectory() as tmpdir: + export_filename = os.path.join(tmpdir, "output.wav") + reader, observers = initialize_workers( + input="tests/data/test_16KHZ_mono_400Hz.wav", + save_stream=export_filename, + export_format="wave", + save_detections_as=None, + echo=True, + progress_bar=False, + command="some command", + quiet=False, + printf="abcd", + time_format="%S", + timestamp_format="%h:%M:%S", + ) + reader.stop() + self.assertTrue(patched_player_for.called) + self.assertIsInstance(reader, StreamSaverWorker) + for obs, cls in zip( + observers, [PlayerWorker, CommandLineWorker, PrintWorker] + ): + self.assertIsInstance(obs, cls) def test_initialize_workers_no_PlayerWorker(self): with patch("auditok.cmdline_util.player_for") as patched_player_for: - reader, observers = initialize_workers( - input="tests/data/test_16KHZ_mono_400Hz.wav", - save_stream="output.wav", - export_format="wave", - save_detections_as="{id}.wav", - echo=False, - progress_bar=False, - command="some command", - quiet=False, - printf="abcd", - time_format="%S", - timestamp_format="%h:%M:%S", - ) - reader.stop() - self.assertFalse(patched_player_for.called) - self.assertIsInstance(reader, StreamSaverWorker) - for obs, cls in zip( - observers, [RegionSaverWorker, CommandLineWorker, PrintWorker] - ): - self.assertIsInstance(obs, cls) + with TemporaryDirectory() as tmpdir: + export_filename = os.path.join(tmpdir, "output.wav") + reader, observers = initialize_workers( + input="tests/data/test_16KHZ_mono_400Hz.wav", + save_stream=export_filename, + export_format="wave", + save_detections_as="{id}.wav", + echo=False, + progress_bar=False, + command="some command", + quiet=False, + printf="abcd", + time_format="%S", + timestamp_format="%h:%M:%S", + ) + reader.stop() + self.assertFalse(patched_player_for.called) + self.assertIsInstance(reader, StreamSaverWorker) + for obs, cls in zip( + observers, + [RegionSaverWorker, CommandLineWorker, PrintWorker], + ): + self.assertIsInstance(obs, cls) def test_initialize_workers_no_CommandLineWorker(self): with patch("auditok.cmdline_util.player_for") as patched_player_for: - reader, observers = initialize_workers( - input="tests/data/test_16KHZ_mono_400Hz.wav", - save_stream="output.wav", - export_format="wave", - save_detections_as="{id}.wav", - echo=True, - progress_bar=False, - command=None, - quiet=False, - printf="abcd", - time_format="%S", - timestamp_format="%h:%M:%S", - ) - reader.stop() - self.assertTrue(patched_player_for.called) - self.assertIsInstance(reader, StreamSaverWorker) - for obs, cls in zip( - observers, [RegionSaverWorker, PlayerWorker, PrintWorker] - ): - self.assertIsInstance(obs, cls) + with TemporaryDirectory() as tmpdir: + export_filename = os.path.join(tmpdir, "output.wav") + reader, observers = initialize_workers( + input="tests/data/test_16KHZ_mono_400Hz.wav", + save_stream=export_filename, + export_format="wave", + save_detections_as="{id}.wav", + echo=True, + progress_bar=False, + command=None, + quiet=False, + printf="abcd", + time_format="%S", + timestamp_format="%h:%M:%S", + ) + reader.stop() + self.assertTrue(patched_player_for.called) + self.assertIsInstance(reader, StreamSaverWorker) + for obs, cls in zip( + observers, [RegionSaverWorker, PlayerWorker, PrintWorker] + ): + self.assertIsInstance(obs, cls) def test_initialize_workers_no_PrintWorker(self): with patch("auditok.cmdline_util.player_for") as patched_player_for: - reader, observers = initialize_workers( - input="tests/data/test_16KHZ_mono_400Hz.wav", - save_stream="output.wav", - export_format="wave", - save_detections_as="{id}.wav", - echo=True, - progress_bar=False, - command="some command", - quiet=True, - printf="abcd", - time_format="%S", - timestamp_format="%h:%M:%S", - ) - reader.stop() - self.assertTrue(patched_player_for.called) - self.assertIsInstance(reader, StreamSaverWorker) - for obs, cls in zip( - observers, [RegionSaverWorker, PlayerWorker, CommandLineWorker] - ): - self.assertIsInstance(obs, cls) + with TemporaryDirectory() as tmpdir: + export_filename = os.path.join(tmpdir, "output.wav") + reader, observers = initialize_workers( + input="tests/data/test_16KHZ_mono_400Hz.wav", + save_stream=export_filename, + export_format="wave", + save_detections_as="{id}.wav", + echo=True, + progress_bar=False, + command="some command", + quiet=True, + printf="abcd", + time_format="%S", + timestamp_format="%h:%M:%S", + ) + reader.stop() + self.assertTrue(patched_player_for.called) + self.assertIsInstance(reader, StreamSaverWorker) + for obs, cls in zip( + observers, + [RegionSaverWorker, PlayerWorker, CommandLineWorker], + ): + self.assertIsInstance(obs, cls) def test_initialize_workers_no_observers(self): with patch("auditok.cmdline_util.player_for") as patched_player_for: