import pytest import logging as log import time import os import subprocess from multilang_translator.backend_controller.broadcaster_config import broadcaster_config from multilang_translator.backend_controller.broadcaster_play_once import broadcaster_play_file from multilang_translator.backend_controller.broadcaster_copy_files import copy_to_broadcaster @pytest.fixture(scope="session") def ft_reset_broadcaster(): subprocess.run(["nrfjprog", "--reset", "-s", "1050109484"], check=True) log.info("Resetting Broadcaster...") time.sleep(2.) @pytest.fixture(scope="session") def ft_configure_broadcaster(ft_reset_broadcaster): log.info("Configuring Broadcaster...") start = time.time() ret = broadcaster_config() log.info(f"Configuration took {round(time.time() - start, 3)} seconds") assert "err" not in ret assert "Failed" not in ret yield ret def test_config_broadcaster(ft_configure_broadcaster): ret = ft_configure_broadcaster def test_copy_to_broadcaster(): log.info("Current working directory is: " + os.getcwd()) start = time.time() copy_to_broadcaster('./tests/announcement_de.lc3') log.info(f"Copy to broadcaster took {round(time.time() - start, 3)} seconds") def test_play_files(): ret = broadcaster_play_file(0, 'announcement_de.lc3') assert "err" not in ret assert "Failed" not in ret time.sleep(1) ret = broadcaster_play_file(1, 'announcement_en.lc3') assert "err" not in ret assert "Failed" not in ret def test_copy_and_play(): copy_to_broadcaster('./tests/announcement_de.lc3') copy_to_broadcaster('./tests/announcement_en.lc3') time.sleep(0.5) ret = broadcaster_play_file(0, 'announcement_de.lc3') assert "err" not in ret assert "Failed" not in ret time.sleep(.5) ret = broadcaster_play_file(1, 'announcement_en.lc3') assert "err" not in ret assert "Failed" not in ret