summaryrefslogtreecommitdiff
path: root/coverage
diff options
context:
space:
mode:
authorSteve <sleonard76@gmail.com>2014-05-26 13:42:02 -0400
committerSteve <sleonard76@gmail.com>2014-05-26 13:42:02 -0400
commit8c2cea536675e503e2eb78fd94e04f9635129e26 (patch)
tree07bfe64e6f8ffb7fb3f5814ba3c9deec46385fd4 /coverage
parenta91fb5b97886f23f78deaaaeb42daf20b898acff (diff)
downloadpython-coveragepy-8c2cea536675e503e2eb78fd94e04f9635129e26.tar.gz
Fix formatting when no missing lines; improve tests
Diffstat (limited to 'coverage')
-rw-r--r--coverage/results.py16
-rw-r--r--coverage/summary.py10
2 files changed, 25 insertions, 1 deletions
diff --git a/coverage/results.py b/coverage/results.py
index ce9e0fa..94785ca 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 c99c530..1e55a7d 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