From 3839a376d03f22fad41b869be680ba496147b281 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 9 Sep 2018 13:19:40 -0400 Subject: Collector has a CoverageData --- coverage/collector.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'coverage/collector.py') diff --git a/coverage/collector.py b/coverage/collector.py index fa3eaaa4..db8373a1 100644 --- a/coverage/collector.py +++ b/coverage/collector.py @@ -99,6 +99,7 @@ class Collector(object): self.warn = warn self.branch = branch self.threading = None + self.covdata = None self.origin = short_stack() @@ -160,6 +161,10 @@ class Collector(object): def __repr__(self): return "" % (id(self), self.tracer_name()) + def use_data(self, covdata): + """Use `covdata` for recording data.""" + self.covdata = covdata + def tracer_name(self): """Return the class name of the tracer we're using.""" return self._trace_class.__name__ @@ -378,8 +383,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 +414,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. -- cgit v1.2.1 From 8c05c99a4782e67c75e361f3fcb06ae32559e5f1 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Wed, 12 Sep 2018 08:39:37 -0400 Subject: Set the context in the data --- coverage/collector.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'coverage/collector.py') diff --git a/coverage/collector.py b/coverage/collector.py index db8373a1..e0144979 100644 --- a/coverage/collector.py +++ b/coverage/collector.py @@ -101,6 +101,8 @@ class Collector(object): self.threading = None self.covdata = None + self.static_context = None + self.origin = short_stack() self.concur_id_func = None @@ -161,9 +163,11 @@ class Collector(object): def __repr__(self): return "" % (id(self), self.tracer_name()) - def use_data(self, covdata): + 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.""" -- cgit v1.2.1