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 | b536b6c77c943eb95a0fe27705d842070027b407 (patch) | |
tree | dcd9fc433cac970057eac5e6f5a0ff39443e706a /coverage/data.py | |
parent | 778da6cf5ef2a5ed2b2748b2bed215f3ab68995d (diff) | |
download | python-coveragepy-b536b6c77c943eb95a0fe27705d842070027b407.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 67b74d0..ecfb86b 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() |