# © Crown-owned copyright 2025, Defence Science and Technology Laboratory UK import subprocess import sys from typing import Any def run_command(command: Any): """Runs a command and returns the exit code.""" result = subprocess.run(command, shell=True) if result.returncode != 0: sys.exit(result.returncode) # Run pytest with coverage run_command( "coverage run -m --source=primaite pytest -v -o junit_family=xunit2 " "--junitxml=junit/test-results.xml --cov-fail-under=80" ) # Generate coverage reports if tests passed run_command("coverage xml -o coverage.xml -i") run_command("coverage html -d htmlcov -i")