diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2017-03-28 06:21:34 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2017-03-28 06:21:34 -0400 |
commit | c2636f945f5c46597f71479ac8eae3a141110cf5 (patch) | |
tree | 5c048b46eb7917f004dcf507550b3b989761f5e4 /coverage/data.py | |
parent | 507d94b272fb73fac476fa6cdc6b023f5c88bc79 (diff) | |
download | python-coveragepy-git-c2636f945f5c46597f71479ac8eae3a141110cf5.tar.gz |
Allow plugins to report files they haven't executed.
By Emil Madsen, from: https://github.com/nedbat/coveragepy/pull/28
Diffstat (limited to 'coverage/data.py')
-rw-r--r-- | coverage/data.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/coverage/data.py b/coverage/data.py index 67b74d07..ecfb86b9 100644 --- a/coverage/data.py +++ b/coverage/data.py @@ -416,8 +416,12 @@ class CoverageData(object): self._runs[0].update(kwargs) self._validate() - def touch_file(self, filename): - """Ensure that `filename` appears in the data, empty if needed.""" + def touch_file(self, filename, plugin_name=""): + """Ensure that `filename` appears in the data, empty if needed. + + `plugin_name` is the name of the plugin resposible for this file. It is used + to associate the right filereporter, etc. + """ if self._debug and self._debug.should('dataop'): self._debug.write("Touching %r" % (filename,)) if not self._has_arcs() and not self._has_lines(): @@ -428,6 +432,9 @@ class CoverageData(object): else: where = self._lines where.setdefault(filename, []) + if plugin_name: + # Set the tracer for this file + self._file_tracers[filename] = plugin_name self._validate() |