From 938155b8da192993485148a61fcebd066a6fe426 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 18 May 2014 14:12:09 -0400 Subject: A bit of refactoring, inching slowly toward nicer CodeUnits --- coverage/results.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'coverage/results.py') diff --git a/coverage/results.py b/coverage/results.py index 08329766..e422730d 100644 --- a/coverage/results.py +++ b/coverage/results.py @@ -26,7 +26,6 @@ class Analysis(object): # Identify missing statements. executed = self.coverage.data.executed_lines(self.filename) executed = self.parser.translate_lines(executed) - executed = self.parser.first_lines(executed) self.missing = self.statements - executed if self.coverage.data.has_arcs(): @@ -74,8 +73,7 @@ class Analysis(object): def arcs_executed(self): """Returns a sorted list of the arcs actually executed in the code.""" executed = self.coverage.data.executed_arcs(self.filename) - m2fl = self.parser.first_line - executed = ((m2fl(l1), m2fl(l2)) for (l1,l2) in executed) + executed = self.parser.translate_arcs(executed) return sorted(executed) def arcs_missing(self): -- cgit v1.2.1 From a189b3bb1846d8e0c7b003a94af69822d3890f9e Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 18 May 2014 21:26:57 -0400 Subject: Continued refactoring of CodeUnit --- coverage/results.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'coverage/results.py') diff --git a/coverage/results.py b/coverage/results.py index e422730d..ce9e0fa4 100644 --- a/coverage/results.py +++ b/coverage/results.py @@ -14,11 +14,7 @@ class Analysis(object): self.code_unit = code_unit self.filename = self.code_unit.filename - actual_filename, source = self.code_unit.find_source(self.filename) - - self.parser = code_unit.parser_class( - code_unit, - text=source, filename=actual_filename, + self.parser = code_unit.get_parser( exclude=self.coverage._exclude_regex('exclude') ) self.statements, self.excluded = self.parser.parse_source() -- cgit v1.2.1 From c6a47d49e3ac32de75859e3439cd0fe96f0c4460 Mon Sep 17 00:00:00 2001 From: Steve Date: Fri, 23 May 2014 17:04:08 -0400 Subject: Add branch misses to stdout report --- coverage/results.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'coverage/results.py') diff --git a/coverage/results.py b/coverage/results.py index ce9e0fa4..676ba716 100644 --- a/coverage/results.py +++ b/coverage/results.py @@ -83,6 +83,20 @@ 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() + pairs = [] + for line, exits in arcs.iteritems(): + 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() -- cgit v1.2.1 From ad32797629dfe2fe18d7301203e7afb2fcaa15d7 Mon Sep 17 00:00:00 2001 From: Steve Date: Mon, 26 May 2014 13:42:02 -0400 Subject: Fix formatting when no missing lines; improve tests --- coverage/results.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'coverage/results.py') diff --git a/coverage/results.py b/coverage/results.py index 676ba716..94785ca0 100644 --- a/coverage/results.py +++ b/coverage/results.py @@ -90,8 +90,10 @@ class Analysis(object): """ arcs = self.missing_branch_arcs() + line_exits = sorted(arcs.iteritems(), key=lambda (x, _): x) pairs = [] - for line, exits in arcs.iteritems(): + for line, exits in line_exits: + exits = sorted(exits) for exit in exits: pair = '%d->%d' % (line, exit) pairs.append(pair) -- cgit v1.2.1 From a38286c663af6bba730c5e05c3d32b764e949440 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 1 Jun 2014 22:06:36 -0400 Subject: Clean up the merged pull request --- coverage/results.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'coverage/results.py') diff --git a/coverage/results.py b/coverage/results.py index 94785ca0..c9034bcd 100644 --- a/coverage/results.py +++ b/coverage/results.py @@ -90,12 +90,11 @@ class Analysis(object): """ arcs = self.missing_branch_arcs() - line_exits = sorted(arcs.iteritems(), key=lambda (x, _): x) + line_exits = sorted(iitems(arcs)) pairs = [] for line, exits in line_exits: - exits = sorted(exits) - for exit in exits: - pair = '%d->%d' % (line, exit) + for ex in sorted(exits): + pair = '%d->%d' % (line, ex) pairs.append(pair) return ', '.join(pairs) -- cgit v1.2.1 From c317727542e303ae9dd5ed4db73217508e367d74 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Tue, 8 Jul 2014 06:25:17 -0400 Subject: Improve branch summarization It failed completely on more than one file! Removed the Branches label, and no longer report missing branches implied by missing lines. --- coverage/results.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'coverage/results.py') diff --git a/coverage/results.py b/coverage/results.py index c9034bcd..6cbcbfc8 100644 --- a/coverage/results.py +++ b/coverage/results.py @@ -84,18 +84,20 @@ class Analysis(object): return sorted(missing) def arcs_missing_formatted(self): - """ The missing branch arcs, formatted. + """ The missing branch arcs, formatted nicely. - Returns a string like "1->2, 1->3, 16->20" + Returns a string like "1->2, 1->3, 16->20". Omits any mention of + missing lines, so if line 17 is missing, then 16->17 won't be included. """ arcs = self.missing_branch_arcs() + missing = self.missing line_exits = sorted(iitems(arcs)) pairs = [] for line, exits in line_exits: for ex in sorted(exits): - pair = '%d->%d' % (line, ex) - pairs.append(pair) + if line not in missing and ex not in missing: + pairs.append('%d->%d' % (line, ex)) return ', '.join(pairs) def arcs_unpredicted(self): -- cgit v1.2.1