INNER CODE UNIT · Python
run_suites
alper-han/CrossMacro · scripts/ci/run-tests.py:97
def run_suites(platform, root):
records = []
exit_code = 0
for command, env in test_commands(platform, root):
result_dir = Path(command[command.index("--results-directory") + 1])
suite = str(result_dir.relative_to(root / "artifacts/test-results" / platform))
result_dir.mkdir(parents=True, exist_ok=True)
report = result_dir / "results.trx"
report.unlink(missing_ok=True) # A rerun must not accept an old successful TRX.
record = {"suite": suite, "status": "failed", "tests": {}, "error": ""}
started = time.monotonic()
print(f"::group::Tests: {suite}", flush=True)
try:
returncode = run_bounded(command, root, env)
record["tests"] = read_results(report)
if returncode != 0 or record["tests"]["failed"]:
exit_code = exit_code or (returncode if returncode > 0 else 1)
record["error"] = f"Test process exit {returncode}; failed tests {record['tests']['failed']}"