From: DongHun Kwak Date: Mon, 14 Jan 2019 01:33:43 +0000 (+0900) Subject: Imported Upstream version 36.2.3 X-Git-Tag: upstream/36.2.3^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=50515cf00a36f1c8cb1cfd388a237ec64456cbd2;p=platform%2Fupstream%2Fpython-setuptools.git Imported Upstream version 36.2.3 --- diff --git a/CHANGES.rst b/CHANGES.rst index 9a16816..9af6001 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,8 @@ +v36.2.3 +------- + +* #1102: Restore behavior for empty extras. + v36.2.2 ------- diff --git a/setup.cfg b/setup.cfg index 33024f5..5633027 100755 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 36.2.2 +current_version = 36.2.3 commit = True tag = True diff --git a/setup.py b/setup.py index 5c48f74..8c21a37 100755 --- a/setup.py +++ b/setup.py @@ -89,7 +89,7 @@ def pypi_link(pkg_filename): setup_params = dict( name="setuptools", - version="36.2.2", + version="36.2.3", description="Easily download, build, install, upgrade, and uninstall " "Python packages", author="Python Packaging Authority", diff --git a/setuptools/dist.py b/setuptools/dist.py index 0787261..dfe700b 100644 --- a/setuptools/dist.py +++ b/setuptools/dist.py @@ -369,6 +369,8 @@ class Distribution(Distribution_parse_config_files, _Distribution): spec_ext_reqs = getattr(self, 'extras_require', None) or {} self._tmp_extras_require = defaultdict(list) for section, v in spec_ext_reqs.items(): + # Do not strip empty sections. + self._tmp_extras_require[section] for r in pkg_resources.parse_requirements(v): suffix = self._suffix_for(r) self._tmp_extras_require[section + suffix].append(r) diff --git a/setuptools/tests/test_egg_info.py b/setuptools/tests/test_egg_info.py index d9d4ec3..9ea7cdc 100644 --- a/setuptools/tests/test_egg_info.py +++ b/setuptools/tests/test_egg_info.py @@ -274,6 +274,8 @@ class TestEggInfo(object): with open(requires_txt) as fp: install_requires = fp.read() expected_requires = DALS(''' + [extra] + [extra:{marker}] barbazquux[test] ''').format(marker=self.mismatch_marker_alternate) @@ -306,6 +308,8 @@ class TestEggInfo(object): with open(requires_txt) as fp: install_requires = fp.read() expected_requires = DALS(''' + [extra] + [extra:{marker}] barbazquux ''').format(marker=self.mismatch_marker_alternate) @@ -328,6 +332,20 @@ class TestEggInfo(object): self._run_install_command(tmpdir_cwd, env) assert glob.glob(os.path.join(env.paths['lib'], 'barbazquux*')) == [] + def test_extras_require_with_empty_section(self, tmpdir_cwd, env): + tmpl = 'extras_require={{"empty": []}},' + req = tmpl.format(marker=self.invalid_marker) + self._setup_script_with_requires(req) + self._run_install_command(tmpdir_cwd, env) + egg_info_dir = self._find_egg_info_files(env.paths['lib']).base + requires_txt = os.path.join(egg_info_dir, 'requires.txt') + with open(requires_txt) as fp: + install_requires = fp.read() + expected_requires = DALS(''' + [empty] + ''').format(marker=self.mismatch_marker_alternate) + assert install_requires.lstrip() == expected_requires + def test_python_requires_egg_info(self, tmpdir_cwd, env): self._setup_script_with_requires( """python_requires='>=2.7.12',""")