summaryrefslogtreecommitdiff
path: root/coverage/parser.py
diff options
context:
space:
mode:
authorJulian Berman <Julian+Hg@GrayVines.com>2012-07-31 10:17:00 -0400
committerJulian Berman <Julian+Hg@GrayVines.com>2012-07-31 10:17:00 -0400
commit7543956017305b6ca9640718e6944b6b144767e2 (patch)
tree7515f98efe053bc4f27aeb66e152e0dfb36cc79c /coverage/parser.py
parent452bceaef085a0c90464ee009b737e6c8c18220e (diff)
downloadpython-coveragepy-git-7543956017305b6ca9640718e6944b6b144767e2.tar.gz
Don't report coverage for non-Python source files even if __file__ says they were executed.
Closes #82
Diffstat (limited to 'coverage/parser.py')
-rw-r--r--coverage/parser.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/coverage/parser.py b/coverage/parser.py
index f868d357..a9cceb35 100644
--- a/coverage/parser.py
+++ b/coverage/parser.py
@@ -203,7 +203,16 @@ class CodeParser(object):
statements.
"""
- self._raw_parse()
+
+ try:
+ self._raw_parse()
+ except tokenize.TokenError:
+ _, tokerr, _ = sys.exc_info()
+ msg, lineno = tokerr.args
+ raise NotPython(
+ "Couldn't parse '%s' as Python source: '%s' at %s" %
+ (self.filename, msg, lineno)
+ )
excluded_lines = self.first_lines(self.excluded)
ignore = excluded_lines + list(self.docstrings)