From 5aa95d1edec75c4f30458773894c7f47c1af0edc Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sun, 9 Sep 2018 10:58:38 -0400 Subject: Plumb through context= setting --- coverage/control.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'coverage/control.py') diff --git a/coverage/control.py b/coverage/control.py index 5d42af77..cdbd721f 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -57,7 +57,7 @@ class Coverage(object): self, data_file=None, data_suffix=None, cover_pylib=None, auto_data=False, timid=None, branch=None, config_file=True, source=None, omit=None, include=None, debug=None, - concurrency=None, check_preimported=False, + concurrency=None, check_preimported=False, context=None, ): """ `data_file` is the base name of the data file to use, defaulting to @@ -116,6 +116,8 @@ class Coverage(object): by coverage. Importing measured files before coverage is started can mean that code is missed. + `context` is a string to use as the context label for collected data. + .. versionadded:: 4.0 The `concurrency` parameter. @@ -133,7 +135,7 @@ class Coverage(object): branch=branch, parallel=bool_or_none(data_suffix), source=source, run_omit=omit, run_include=include, debug=debug, report_omit=omit, report_include=include, - concurrency=concurrency, + concurrency=concurrency, context=context, ) # This is injectable by tests. -- cgit v1.2.1 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/control.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'coverage/control.py') diff --git a/coverage/control.py b/coverage/control.py index cdbd721f..ca0843d7 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -335,6 +335,7 @@ class Coverage(object): def _init_for_start(self): """Initialization for start()""" + # Construct the collector. concurrency = self.config.concurrency or [] if "multiprocessing" in concurrency: if not patch_multiprocessing: @@ -400,6 +401,9 @@ class Coverage(object): debug=self._debug, ) + if self._collector is not None: + self._collector.use_data(self._data) + def start(self): """Start measuring code coverage. @@ -564,7 +568,7 @@ class Coverage(object): self._init_data(suffix=None) self._post_init() - if self._collector and self._collector.save_data(self._data): + if self._collector and self._collector.flush_data(): self._post_save_work() return self._data -- 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/control.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'coverage/control.py') diff --git a/coverage/control.py b/coverage/control.py index ca0843d7..0918a34e 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -366,6 +366,8 @@ class Coverage(object): self._init_data(suffix) + self._collector.use_data(self._data, self.config.context) + # Early warning if we aren't going to be able to support plugins. if self._plugins.file_tracers and not self._collector.supports_plugins: self._warn( @@ -401,9 +403,6 @@ class Coverage(object): debug=self._debug, ) - if self._collector is not None: - self._collector.use_data(self._data) - def start(self): """Start measuring code coverage. -- cgit v1.2.1 From 2f1b8cfcfe184a8fd6f3f2f789530bddb233dda8 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Fri, 14 Sep 2018 07:05:51 -0400 Subject: Change measured_files to a set --- coverage/control.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'coverage/control.py') diff --git a/coverage/control.py b/coverage/control.py index 0918a34e..f7d97cf6 100644 --- a/coverage/control.py +++ b/coverage/control.py @@ -683,15 +683,11 @@ class Coverage(object): if not morfs: morfs = self._data.measured_files() - # Be sure we have a list. - if not isinstance(morfs, (list, tuple)): + # Be sure we have a collection. + if not isinstance(morfs, (list, tuple, set)): morfs = [morfs] - file_reporters = [] - for morf in morfs: - file_reporter = self._get_file_reporter(morf) - file_reporters.append(file_reporter) - + file_reporters = [self._get_file_reporter(morf) for morf in morfs] return file_reporters def report( -- cgit v1.2.1