summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2020-04-11 13:58:50 -0400
committerGitHub <noreply@github.com>2020-04-11 13:58:50 -0400
commit97997d2cd6801d0335e3fa162b719d6f8c160266 (patch)
tree0483b781fe8b12df0f8fe9692afaf2a234c310d4
parent17204597c33db2cc396d32b8f9931c35f2518675 (diff)
parentedadbece423b100ff3513cd26670b1fc2631cbf3 (diff)
downloadpython-coveragepy-git-97997d2cd6801d0335e3fa162b719d6f8c160266.tar.gz
Merge pull request #969 from gaborbernat/967
Allow plugins to alter the paths config
-rw-r--r--coverage/config.py6
-rw-r--r--tests/test_config.py12
2 files changed, 18 insertions, 0 deletions
diff --git a/coverage/config.py b/coverage/config.py
index 78a3e86a..166f34ea 100644
--- a/coverage/config.py
+++ b/coverage/config.py
@@ -421,6 +421,9 @@ class CoverageConfig(object):
`value` is the new value for the option.
"""
+ if option_name == "paths":
+ self.paths = value
+ return
# Check all the hard-coded options.
for option_spec in self.CONFIG_FILE_OPTIONS:
@@ -448,6 +451,9 @@ class CoverageConfig(object):
Returns the value of the option.
"""
+ if option_name == "paths":
+ return self.paths
+
# Check all the hard-coded options.
for option_spec in self.CONFIG_FILE_OPTIONS:
attr, where = option_spec[:2]
diff --git a/tests/test_config.py b/tests/test_config.py
index fe9e001e..880368f7 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -3,6 +3,7 @@
# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
"""Test the config file handling for coverage.py"""
+from collections import OrderedDict
import mock
@@ -340,6 +341,17 @@ class ConfigTest(CoverageTest):
self.assertFalse(cov.get_option("run:branch"))
self.assertEqual(cov.get_option("run:data_file"), "fooey.dat")
+ def test_tweaks_paths_after_constructor(self):
+ cov = coverage.Coverage()
+ paths = cov.get_option("paths")
+ self.assertEqual(paths, OrderedDict())
+
+ new_paths = OrderedDict()
+ new_paths['magic'] = ['src', 'ok']
+ cov.set_option("paths", new_paths)
+
+ self.assertEqual(cov.get_option("paths"), new_paths)
+
def test_tweak_error_checking(self):
# Trying to set an unknown config value raises an error.
cov = coverage.Coverage()