From 824ca447ec8a5f803bc4bf6aa0d80cc90f1cf3df Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 8 Nov 2009 13:45:20 -0500 Subject: Added branch stats to results, and the summary report includes them. --- coverage/summary.py | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) (limited to 'coverage/summary.py') diff --git a/coverage/summary.py b/coverage/summary.py index 00e4af87..e0e9eba7 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) -- cgit v1.2.1