aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools')
-rw-r--r--setuptools/config.py8
-rw-r--r--setuptools/tests/test_config.py17
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