Wrap env markers in parens

If there are boolean conditions in the env marker, the existing join
causes the extra tag to only be applied to the first of them, causing
carnage.

Change-Id: I7b735befae76b330f923276e1c48ef23816774d4
This commit is contained in:
Monty Taylor 2015-07-10 10:11:49 -04:00
parent 827bc98de5
commit 61a3a1ecdf
3 changed files with 4 additions and 4 deletions

View File

@ -454,8 +454,8 @@ class TestRequirementParsing(base.BaseTestCase):
# anonymous section instead of the empty string. Weird.
expected_requirements = {
None: ['bar'],
":python_version=='2.6'": ['quux<1.0'],
"test:python_version=='2.7'": ['baz>3.2'],
":(python_version=='2.6')": ['quux<1.0'],
"test:(python_version=='2.7')": ['baz>3.2'],
"test": ['foo']
}
setup_py = os.path.join(tempdir, 'setup.py')

View File

@ -48,7 +48,7 @@ class TestExtrasRequireParsingScenarios(base.BaseTestCase):
baz<1.6 :python_version=='2.6'
""",
'expected_extra_requires': {
"test:python_version=='2.6'": ['foo', 'baz<1.6'],
"test:(python_version=='2.6')": ['foo', 'baz<1.6'],
"test": ['bar']}}),
('no_extras', {
'config_text': """

View File

@ -418,7 +418,7 @@ def setup_cfg_to_setup_kwargs(config):
for req_group in all_requirements:
for requirement, env_marker in all_requirements[req_group]:
if env_marker:
extras_key = '%s:%s' % (req_group, env_marker)
extras_key = '%s:(%s)' % (req_group, env_marker)
else:
extras_key = req_group
extras_require.setdefault(extras_key, []).append(requirement)