diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-11-08 13:45:20 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-11-08 13:45:20 -0500 |
commit | 5ebfcb2f451bbb4c88072e2da996cfc2729640d8 (patch) | |
tree | cf07e7d2ab11fe6252e6520944f636f1226c2ab1 /coverage/summary.py | |
parent | 965a10aaa2287ac678f0a821004ee8ceae005957 (diff) | |
download | python-coveragepy-5ebfcb2f451bbb4c88072e2da996cfc2729640d8.tar.gz |
Added branch stats to results, and the summary report includes them.
Diffstat (limited to 'coverage/summary.py')
-rw-r--r-- | coverage/summary.py | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/coverage/summary.py b/coverage/summary.py index 00e4af8..e0e9eba 100644 --- a/coverage/summary.py +++ b/coverage/summary.py @@ -12,6 +12,7 @@ class SummaryReporter(Reporter): def __init__(self, coverage, show_missing=True, ignore_errors=False): super(SummaryReporter, self).__init__(coverage, ignore_errors) self.show_missing = show_missing + self.branches = coverage.data.has_arcs() def report(self, morfs, omit_prefixes=None, outfile=None): """Writes a report summarizing coverage statistics per module.""" @@ -22,12 +23,19 @@ class SummaryReporter(Reporter): max_name = max([len(cu.name) for cu in self.code_units] + [5]) fmt_name = "%%- %ds " % max_name fmt_err = "%s %s: %s\n" - header = fmt_name % "Name" + " Stmts Exec Cover\n" - fmt_coverage = fmt_name + "% 6d % 6d % 5d%%\n" + header = (fmt_name % "Name") + " Stmts Exec" + fmt_coverage = fmt_name + "%6d %6d" + if self.branches: + header += " Branch BrExec" + fmt_coverage += " %6d %6d" + header += " Cover" + fmt_coverage += " %5d%%" if self.show_missing: - header = header.replace("\n", " Missing\n") - fmt_coverage = fmt_coverage.replace("\n", " %s\n") - rule = "-" * (len(header)-1) + "\n" + header += " Missing" + fmt_coverage += " %s" + rule = "-" * len(header) + "\n" + header += "\n" + fmt_coverage += "\n" if not outfile: outfile = sys.stdout @@ -42,12 +50,12 @@ class SummaryReporter(Reporter): try: analysis = self.coverage._analyze(cu) nums = analysis.numbers - args = ( - cu.name, nums.n_statements, nums.n_executed, - nums.pc_covered - ) + args = (cu.name, nums.n_statements, nums.n_executed) + if self.branches: + args += (nums.n_branches, nums.n_executed_branches) + args += (nums.pc_covered,) if self.show_missing: - args = args + (analysis.missing_formatted(),) + args += (analysis.missing_formatted(),) outfile.write(fmt_coverage % args) total += nums except KeyboardInterrupt: #pragma: no cover @@ -59,10 +67,10 @@ class SummaryReporter(Reporter): if total.n_files > 1: outfile.write(rule) - args = ( - "TOTAL", total.n_statements, total.n_executed, - total.pc_covered - ) + args = ("TOTAL", total.n_statements, total.n_executed) + if self.branches: + args += (total.n_branches, total.n_executed_branches) + args += (total.pc_covered,) if self.show_missing: - args = args + ("",) + args += ("",) outfile.write(fmt_coverage % args) |