diff options
-rw-r--r-- | coverage/control.py | 11 | ||||
-rw-r--r-- | coverage/html.py | 7 | ||||
-rw-r--r-- | coverage/summary.py | 5 |
3 files changed, 14 insertions, 9 deletions
diff --git a/coverage/control.py b/coverage/control.py index d406e80c..82b9e987 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -374,6 +374,17 @@ class Analysis(object): """ return format_lines(self.statements, self.missing) + def percent_covered(self): + """Returns a single percentage value for coverage.""" + n_stm = len(self.statements) + n_mis = len(self.missing) + n_run = n_stm - n_mis + if n_stm > 0: + pc_cov = 100.0 * n_run / n_stm + else: + pc_cov = 100.0 + return pc_cov + def arc_possibilities(self): """Returns a sorted list of the arcs in the code.""" return self.parser.arcs() diff --git a/coverage/html.py b/coverage/html.py index 9a68b2c1..99b291b4 100644 --- a/coverage/html.py +++ b/coverage/html.py @@ -92,11 +92,8 @@ class HtmlReporter(Reporter): n_exc = len(analysis.excluded) n_mis = len(analysis.missing) n_run = n_stm - n_mis - if n_stm > 0: - pc_cov = 100.0 * n_run / n_stm - else: - pc_cov = 100.0 - + pc_cov = analysis.percent_covered() + # These classes determine which lines are highlighted by default. c_run = " run hide" c_exc = " exc" diff --git a/coverage/summary.py b/coverage/summary.py index 989256fc..2a693b82 100644 --- a/coverage/summary.py +++ b/coverage/summary.py @@ -44,10 +44,7 @@ class SummaryReporter(Reporter): analysis = self.coverage._analyze(cu) n = len(analysis.statements) m = n - len(analysis.missing) - if n > 0: - pc = 100.0 * m / n - else: - pc = 100.0 + pc = analysis.percent_covered() args = (cu.name, n, m, pc) if self.show_missing: args = args + (analysis.missing_formatted(),) |