improve tests and broadcaster play and config procedures

This commit is contained in:
2024-12-17 12:56:40 +01:00
parent b41a273643
commit 77d06f9d0c
4 changed files with 47 additions and 18 deletions

View File

@@ -87,9 +87,8 @@ def broadcaster_config():
log.info("\n".join(ret))
ret = write_to_serial_read_respone(serial_port, "nac show", timeout=0.1)
log.info("\n".join(ret))
ret_str = "\n".join(ret)
log.info(ret_str)
return ret_str

View File

@@ -5,13 +5,19 @@ import logging as log
def broadcaster_play_file(broadcast_ch, file):
serial_port = "/dev/ttyACM0"
ret = write_to_serial_read_respone(serial_port, f"nac file stream_close {broadcast_ch} 0 0", timeout=0.1)
time.sleep(0.5)
ret += "\n"
ret += write_to_serial_read_respone(serial_port, f"nac file select_play_once {file} {broadcast_ch} 0 0", timeout=0.1)
ret_str = "\n".join(ret)
log.info(ret_str)
for i in range(3):
ret = write_to_serial_read_respone(serial_port, f"nac file stream_close {broadcast_ch} 0 0", timeout=0.1)
time.sleep(0.5)
ret += "\n"
ret += write_to_serial_read_respone(serial_port, f"nac file select_play_once {file} {broadcast_ch} 0 0", timeout=0.1)
ret_str = "\n".join(ret)
log.info(ret_str)
if not "Failed" in ret:
log.info("Breaking after %s retries.", i)
break
return ret_str

View File

@@ -8,5 +8,5 @@ version = '0.1'
[tool.pytest.ini_options]
addopts = [
"--import-mode=importlib","--count=5","-s","-v"
"--import-mode=importlib","--count=1","-s","-v"
]

View File

@@ -1,14 +1,32 @@
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_config_broadcaster():
broadcaster_config()
def test_copy_to_broadcaster():
log.info("Current working directory is: " + os.getcwd())
@@ -18,17 +36,23 @@ def test_copy_to_broadcaster():
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')
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')
time.sleep(1)
ret += broadcaster_play_file(1, 'announcement_en.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