diff options
Diffstat (limited to 'setuptools')
-rw-r--r-- | setuptools/config.py | 8 | ||||
-rw-r--r-- | setuptools/tests/test_config.py | 17 |
2 files changed, 25 insertions, 0 deletions
diff --git a/setuptools/config.py b/setuptools/config.py index 0da3dbc9..73a3bf70 100644 --- a/setuptools/config.py +++ b/setuptools/config.py @@ -598,3 +598,11 @@ class ConfigOptionsHandler(ConfigHandler): parse_list = partial(self._parse_list, separator=';') self['extras_require'] = self._parse_section_to_dict( section_options, parse_list) + + def parse_section_data_files(self, section_options): + """Parses `data_files` configuration file section. + + :param dict section_options: + """ + parsed = self._parse_section_to_dict(section_options, self._parse_list) + self['data_files'] = [(k, v) for k, v in parsed.items()] diff --git a/setuptools/tests/test_config.py b/setuptools/tests/test_config.py index acf22154..76759ec5 100644 --- a/setuptools/tests/test_config.py +++ b/setuptools/tests/test_config.py @@ -703,6 +703,23 @@ class TestOptions: with get_dist(tmpdir) as dist: assert dist.entry_points == expected + def test_data_files(self, tmpdir): + fake_env( + tmpdir, + '[options.data_files]\n' + 'cfg =\n' + ' a/b.conf\n' + ' c/d.conf\n' + 'data = e/f.dat, g/h.dat\n' + ) + + with get_dist(tmpdir) as dist: + expected = [ + ('cfg', ['a/b.conf', 'c/d.conf']), + ('data', ['e/f.dat', 'g/h.dat']), + ] + assert sorted(dist.data_files) == sorted(expected) + saved_dist_init = _Distribution.__init__ class TestExternalSetters: # During creation of the setuptools Distribution() object, we call |