diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2010-10-13 09:42:23 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2010-10-13 09:42:23 -0400 |
commit | f367d2a09b87d96a9af1f7bbe9b24f291cb1fe35 (patch) | |
tree | f8a3289b90f3cf3a04bf5d8e1e74b9abd818025e | |
parent | 3cc77a351c13f632047ca9f631148dba1fa703a4 (diff) | |
download | python-coveragepy-git-f367d2a09b87d96a9af1f7bbe9b24f291cb1fe35.tar.gz |
Jython reports $py.class files in the trace function, so adapt to find the source file.
-rw-r--r-- | CHANGES.txt | 3 | ||||
-rw-r--r-- | coverage/control.py | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index fe71f1fb..a2a596d3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -6,7 +6,8 @@ Change history for Coverage.py Version 3.5 ----------- - +- A little bit of Jython support: `coverage run` can now measure Jython + execution by adapting when $py.class files are traced. Version 3.4 --- 19 September 2010 diff --git a/coverage/control.py b/coverage/control.py index 28c8850f..cdaf9721 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -231,6 +231,11 @@ class coverage(object): dunder_file = frame.f_globals.get('__file__') if dunder_file: filename = self._source_for_file(dunder_file) + + # Jython reports the .class file to the tracer, use the source file. + if filename.endswith("$py.class"): + filename = filename[:-9] + ".py" + canonical = self.file_locator.canonical_filename(filename) # If the user specified source, then that's authoritative about what to |