def METHOD_NAME(generator, report_format, binary):
    if report_format == "html":
        clean("coverage-html-report")
        os.makedirs("coverage-html-report")
    if generator == "llvm-cov" and report_format == "html":
        run(
            [
                "llvm-cov",
                "show",
                binary,
                "-instr-profile=coverage.profdata",
                "-format=html",
                "-output-dir=coverage-html-report",
            ]
        )
    elif generator == "genhtml":
        run(
            [
                "genhtml",
                "coverage.info",
                "--output-directory",
                "coverage-html-report",
                "--ignore-errors",
                "source",
            ]
        )
    elif generator == "gcovr" and report_format == "summary":
        run([*gcovr_common_args(), "--print-summary"])
    elif generator == "gcovr" and report_format == "html":
        run(
            [
                *gcovr_common_args(),
                "--html=coverage-html-report/index.html",
                "--html-details",
            ]
        )
    else:
        die("Unhandled generator/format combo")
    if report_format == "html" and shutil.which("open"):
        run(["open", "coverage-html-report/index.html"])