Skip to content

Commit

Permalink
Allow plugins to alter the paths config
Browse files Browse the repository at this point in the history
Signed-off-by: Bernat Gabor <bgabor8@bloomberg.net>
  • Loading branch information
gaborbernat committed Apr 3, 2020
1 parent 64bd04c commit edadbec
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
6 changes: 6 additions & 0 deletions coverage/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -421,6 +421,9 @@ def set_option(self, option_name, value):
`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:
Expand Down Expand Up @@ -448,6 +451,9 @@ def get_option(self, option_name):
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]
Expand Down
12 changes: 12 additions & 0 deletions tests/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -340,6 +341,17 @@ def test_tweaks_after_constructor(self):
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()
Expand Down

0 comments on commit edadbec

Please sign in to comment.