diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2015-01-02 13:41:13 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2015-01-02 13:41:13 -0500 |
commit | 02cecb43c2cf5693eace5c60204e0831a0ec49b7 (patch) | |
tree | 58e2a424f001ac0c6b2e68959bb0bf84f675fa91 /coverage/results.py | |
parent | 7170c660826939a0f31137300bc29c5843095e47 (diff) | |
download | python-coveragepy-02cecb43c2cf5693eace5c60204e0831a0ec49b7.tar.gz |
Start formalizing the FileReporter interface to simplify things
Diffstat (limited to 'coverage/results.py')
-rw-r--r-- | coverage/results.py | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/coverage/results.py b/coverage/results.py index f1c63bb..0b27971 100644 --- a/coverage/results.py +++ b/coverage/results.py @@ -3,7 +3,7 @@ import collections from coverage.backward import iitems -from coverage.misc import format_lines, join_regex +from coverage.misc import format_lines class Analysis(object): @@ -11,23 +11,18 @@ class Analysis(object): def __init__(self, cov, code_unit): self.coverage = cov - - self.filename = code_unit.filename - self.parser = code_unit.get_parser( - exclude=self.coverage._exclude_regex('exclude') - ) - self.statements, self.excluded = self.parser.parse_source() + self.file_reporter = code_unit + self.filename = self.file_reporter.filename + self.statements = self.file_reporter.statements() + self.excluded = self.file_reporter.excluded_statements() # Identify missing statements. executed = self.coverage.data.executed_lines(self.filename) - executed = self.parser.translate_lines(executed) + executed = self.file_reporter.translate_lines(executed) self.missing = self.statements - executed if self.coverage.data.has_arcs(): - self.no_branch = self.parser.lines_matching( - join_regex(self.coverage.config.partial_list), - join_regex(self.coverage.config.partial_always_list) - ) + self.no_branch = self.file_reporter.no_branch_lines() n_branches = self.total_branches() mba = self.missing_branch_arcs() n_partial_branches = sum( @@ -62,13 +57,12 @@ class Analysis(object): def arc_possibilities(self): """Returns a sorted list of the arcs in the code.""" - arcs = self.parser.arcs() - return arcs + return self.file_reporter.arcs() def arcs_executed(self): """Returns a sorted list of the arcs actually executed in the code.""" executed = self.coverage.data.executed_arcs(self.filename) - executed = self.parser.translate_arcs(executed) + executed = self.file_reporter.translate_arcs(executed) return sorted(executed) def arcs_missing(self): @@ -116,12 +110,12 @@ class Analysis(object): def branch_lines(self): """Returns a list of line numbers that have more than one exit.""" - exit_counts = self.parser.exit_counts() + exit_counts = self.file_reporter.exit_counts() return [l1 for l1,count in iitems(exit_counts) if count > 1] def total_branches(self): """How many total branches are there?""" - exit_counts = self.parser.exit_counts() + exit_counts = self.file_reporter.exit_counts() return sum(count for count in exit_counts.values() if count > 1) def missing_branch_arcs(self): @@ -145,7 +139,7 @@ class Analysis(object): (total_exits, taken_exits). """ - exit_counts = self.parser.exit_counts() + exit_counts = self.file_reporter.exit_counts() missing_arcs = self.missing_branch_arcs() stats = {} for lnum in self.branch_lines(): |