diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2020-04-11 13:58:50 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-11 13:58:50 -0400 |
commit | 97997d2cd6801d0335e3fa162b719d6f8c160266 (patch) | |
tree | 0483b781fe8b12df0f8fe9692afaf2a234c310d4 | |
parent | 17204597c33db2cc396d32b8f9931c35f2518675 (diff) | |
parent | edadbece423b100ff3513cd26670b1fc2631cbf3 (diff) | |
download | python-coveragepy-git-97997d2cd6801d0335e3fa162b719d6f8c160266.tar.gz |
Merge pull request #969 from gaborbernat/967
Allow plugins to alter the paths config
-rw-r--r-- | coverage/config.py | 6 | ||||
-rw-r--r-- | tests/test_config.py | 12 |
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() |