diff options
Diffstat (limited to 'coverage')
-rw-r--r-- | coverage/results.py | 16 | ||||
-rw-r--r-- | coverage/summary.py | 10 |
2 files changed, 25 insertions, 1 deletions
diff --git a/coverage/results.py b/coverage/results.py index ce9e0fa4..94785ca0 100644 --- a/coverage/results.py +++ b/coverage/results.py @@ -83,6 +83,22 @@ class Analysis(object): ) return sorted(missing) + def arcs_missing_formatted(self): + """ The missing branch arcs, formatted. + + Returns a string like "1->2, 1->3, 16->20" + + """ + arcs = self.missing_branch_arcs() + line_exits = sorted(arcs.iteritems(), key=lambda (x, _): x) + pairs = [] + for line, exits in line_exits: + exits = sorted(exits) + for exit in exits: + pair = '%d->%d' % (line, exit) + pairs.append(pair) + return ', '.join(pairs) + def arcs_unpredicted(self): """Returns a sorted list of the executed arcs missing from the code.""" possible = self.arc_possibilities() diff --git a/coverage/summary.py b/coverage/summary.py index c99c5303..1e55a7d4 100644 --- a/coverage/summary.py +++ b/coverage/summary.py @@ -37,6 +37,8 @@ class SummaryReporter(Reporter): if self.config.show_missing: header += " Missing" fmt_coverage += " %s" + if self.branches: + fmt_coverage += "%sBranches: %s" rule = "-" * len(header) + "\n" header += "\n" fmt_coverage += "\n" @@ -59,7 +61,13 @@ class SummaryReporter(Reporter): args += (nums.n_branches, nums.n_missing_branches) args += (nums.pc_covered_str,) if self.config.show_missing: - args += (analysis.missing_formatted(),) + missing_fmtd = analysis.missing_formatted() + args += (missing_fmtd,) + if self.branches: + separator = "" + if missing_fmtd: + separator = ", " + args += (separator, analysis.arcs_missing_formatted(),) outfile.write(fmt_coverage % args) total += nums except KeyboardInterrupt: # pragma: not covered |