Fix coverage with several contract classes; table annotation and file path checks; clean task dir on write

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
Kral
2026-10-03 08:44:35 +02:00
parent fb576b0954
commit 03ab36149e
388 changed files with 28620 additions and 339 deletions

View File

@@ -322,8 +322,11 @@ class Runner:
if st.get("step") == "unittest":
own["tests"] += st.get("tests", 0)
own["failures"] += st.get("failures", 0)
cov = st.get("coverage", {}).get("class", {}).get("statement", {})
own["coverage"] = cov.get("percent")
# several contract classes (exception classes + main class): only a class with
# tests has a coverage figure; a later class without tests must not reset it to 0
cov = st.get("coverage", {}).get("class", {}).get("statement", {}).get("percent")
if st.get("tests", 0) and cov is not None:
own["coverage"] = max(own["coverage"] or 0, cov)
if c["type"] == "PROG" and g["G1_active"]: # local test classes inside the report
_, t = mcp.call("sap_run_unit_test", {"objectType": "PROG", "objectName": c["name"]})
for prog in (_json(t) or {}).get("programs", []):