diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2016-01-31 18:39:49 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2016-01-31 18:39:49 -0500 |
commit | ce17b1a6811e4cacbb7de5c876003347b0a91e65 (patch) | |
tree | f509b5575c1826674b19f226ce9812a58d9edf34 /coverage/data.py | |
parent | 703f088e67c256b2491ced099b994f277775fe5f (diff) | |
download | python-coveragepy-git-ce17b1a6811e4cacbb7de5c876003347b0a91e65.tar.gz |
Yield statements that are not resumed shouldn't be marked as missing. #440
Diffstat (limited to 'coverage/data.py')
-rw-r--r-- | coverage/data.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/coverage/data.py b/coverage/data.py index 17cf73ce..60e104d9 100644 --- a/coverage/data.py +++ b/coverage/data.py @@ -4,6 +4,7 @@ """Coverage data for coverage.py.""" import glob +import itertools import json import optparse import os @@ -178,11 +179,12 @@ class CoverageData(object): """ if self._arcs is not None: - if filename in self._arcs: - return [s for s, __ in self._arcs[filename] if s > 0] + arcs = self._arcs.get(filename) + if arcs is not None: + all_lines = itertools.chain.from_iterable(arcs) + return list(set(l for l in all_lines if l > 0)) elif self._lines is not None: - if filename in self._lines: - return self._lines[filename] + return self._lines.get(filename) return None def arcs(self, filename): |