def summary_message()

in sync/notify/msg.py [0:0]


def summary_message(results: Results) -> str:
    """Generate a summary message for results indicating how many tests ran"""
    summary = results.summary()

    job_names = {browser: results.job_names(browser) for browser in browsers}

    github_browsers = list_join(browser.title() for browser in browsers
                                if "GitHub" in job_names[browser])

    gecko_configs = len([item for item in job_names["firefox"] if item != "GitHub"])
    data = [f"Ran {gecko_configs} Firefox configurations based on mozilla-central"]
    if github_browsers:
        data[-1] += f", and {github_browsers} on GitHub CI"
    data.append("")
    data.append("Total %s tests" % summary.parent_tests)

    subtests = summary.subtests
    if subtests:
        data[-1] += " and %s subtests" % subtests
    data[-1] += "\n"

    result_statuses = [status for status in statuses if status in summary.job_results]
    if not result_statuses:
        return "\n".join(data)

    data.append("## Status Summary\n")

    max_width = len(max(result_statuses, key=len))
    for browser in browsers:
        if not job_names[browser]:
            continue

        data.append("### %s" % browser.title())
        for result in ["OK", "PASS", "CRASH", "FAIL", "PRECONDITION_FAILED", "TIMEOUT",
                       "ERROR", "NOTRUN"]:
            if browser in summary.job_results[result]:
                result_data = summary.job_results[result][browser]
                data.append("{}: {}".format(f"`{result}`".ljust(max_width + 2),
                                            summary_value(result_data)))
        data.append("")

    return "\n".join(data)