diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2018-09-21 17:58:37 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2018-09-21 17:58:37 -0400 |
commit | 6c14ffb41a1d1b053f8df52dc37c35f730a8666c (patch) | |
tree | 197162edba02d017b3816c6b88ce1cc8fc6e9e19 /coverage/collector.py | |
parent | 85f63fef4d3b8e1b1328e3268c3eee3900e1d8a4 (diff) | |
parent | b0f5ac245fbd8afc6b9d2ac84f732c419a712f0a (diff) | |
download | python-coveragepy-git-6c14ffb41a1d1b053f8df52dc37c35f730a8666c.tar.gz |
Merge branch 'nedbat/contexts'
Diffstat (limited to 'coverage/collector.py')
-rw-r--r-- | coverage/collector.py | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/coverage/collector.py b/coverage/collector.py index fa3eaaa4..e0144979 100644 --- a/coverage/collector.py +++ b/coverage/collector.py @@ -99,6 +99,9 @@ class Collector(object): self.warn = warn self.branch = branch self.threading = None + self.covdata = None + + self.static_context = None self.origin = short_stack() @@ -160,6 +163,12 @@ class Collector(object): def __repr__(self): return "<Collector at 0x%x: %s>" % (id(self), self.tracer_name()) + def use_data(self, covdata, context): + """Use `covdata` for recording data.""" + self.covdata = covdata + self.static_context = context + self.covdata.set_context(self.static_context) + def tracer_name(self): """Return the class name of the tracer we're using.""" return self._trace_class.__name__ @@ -378,8 +387,11 @@ class Collector(object): except KeyError: return self.abs_file_cache.setdefault(key, abs_file(filename)) - def save_data(self, covdata): - """Save the collected data to a `CoverageData`. + def flush_data(self): + """Save the collected data to our associated `CoverageData`. + + Data may have also been saved along the way. This forces the + last of the data to be saved. Returns True if there was data to save, False if not. """ @@ -406,10 +418,10 @@ class Collector(object): return dict((self.cached_abs_file(k), v) for k, v in items) if self.branch: - covdata.add_arcs(abs_file_dict(self.data)) + self.covdata.add_arcs(abs_file_dict(self.data)) else: - covdata.add_lines(abs_file_dict(self.data)) - covdata.add_file_tracers(abs_file_dict(self.file_tracers)) + self.covdata.add_lines(abs_file_dict(self.data)) + self.covdata.add_file_tracers(abs_file_dict(self.file_tracers)) if self.wtw: # Just a hack, so just hack it. |