INNER CODE UNIT · Python
render_summary
apache/ozone · dev-support/ci/junit_summary.py:119
def render_summary(cases):
def select(status):
return [c for c in cases if c.status == status]
def full_name(case):
return "%s.%s" % (case.class_name, case.test_name)
passed, failed, flaky, skipped = select("passed"), select("failed"), select("flaky"), select("skipped")
lines = ["## Test Summary", ""]
# sum of per-test times, not wall clock (parallel forks make wall clock much shorter)
lines.append("%d tests run in %s (total test time):" % (len(cases), format_time(sum(c.time for c in cases))))
for group, label in ((passed, PASSED), (failed, FAILED), (flaky, FLAKY), (skipped, SKIPPED)):
if group:
emoji, word = label.split(" ", 1)
lines.append("- %s %d %s" % (emoji, len(group), word))
lines.append("")
report_url = os.environ.get("JUNIT_REPORT_URL")
if report_url: