Commit 8317c936 authored by Jason R. Coombs's avatar Jason R. Coombs Committed by GitHub

Merge branch 'master' into feature/308-bypass-normalization

parents 9e801ebc b8c2ae51
...@@ -5,6 +5,7 @@ from __future__ import unicode_literals ...@@ -5,6 +5,7 @@ from __future__ import unicode_literals
import io import io
import collections import collections
import re import re
import functools
from distutils.errors import DistutilsSetupError from distutils.errors import DistutilsSetupError
from setuptools.dist import ( from setuptools.dist import (
_get_unpatched, _get_unpatched,
...@@ -71,82 +72,72 @@ def test_dist__get_unpatched_deprecated(): ...@@ -71,82 +72,72 @@ def test_dist__get_unpatched_deprecated():
def __read_test_cases(): def __read_test_cases():
# Metadata version 1.0 base = dict(
base_attrs = { name="package",
"name": "package", version="0.0.1",
"version": "0.0.1", author="Foo Bar",
"author": "Foo Bar", author_email="foo@bar.net",
"author_email": "foo@bar.net", long_description="Long\ndescription",
"long_description": "Long\ndescription", description="Short description",
"description": "Short description", keywords=["one", "two"],
"keywords": ["one", "two"] )
}
params = functools.partial(dict, base)
def merge_dicts(d1, d2):
d1 = d1.copy()
d1.update(d2)
return d1
test_cases = [ test_cases = [
('Metadata version 1.0', base_attrs.copy()), ('Metadata version 1.0', params()),
('Metadata version 1.1: Provides', merge_dicts(base_attrs, { ('Metadata version 1.1: Provides', params(
'provides': ['package'] provides=['package'],
})), )),
('Metadata version 1.1: Obsoletes', merge_dicts(base_attrs, { ('Metadata version 1.1: Obsoletes', params(
'obsoletes': ['foo'] obsoletes=['foo'],
})), )),
('Metadata version 1.1: Classifiers', merge_dicts(base_attrs, { ('Metadata version 1.1: Classifiers', params(
'classifiers': [ classifiers=[
'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.7',
'License :: OSI Approved :: MIT License', 'License :: OSI Approved :: MIT License',
]})), ],
('Metadata version 1.1: Download URL', merge_dicts(base_attrs, { )),
'download_url': 'https://example.com' ('Metadata version 1.1: Download URL', params(
})), download_url='https://example.com',
('Metadata Version 1.2: Requires-Python', merge_dicts(base_attrs, { )),
'python_requires': '>=3.7' ('Metadata Version 1.2: Requires-Python', params(
})), python_requires='>=3.7',
)),
pytest.param( pytest.param(
'Metadata Version 1.2: Project-Url', 'Metadata Version 1.2: Project-Url',
merge_dicts(base_attrs, { params(project_urls=dict(Foo='https://example.bar')),
'project_urls': { marks=pytest.mark.xfail(
'Foo': 'https://example.bar' reason="Issue #1578: project_urls not read",
} ),
}), marks=pytest.mark.xfail( ),
reason="Issue #1578: project_urls not read" ('Metadata Version 2.1: Long Description Content Type', params(
long_description_content_type='text/x-rst; charset=UTF-8',
)), )),
('Metadata Version 2.1: Long Description Content Type',
merge_dicts(base_attrs, {
'long_description_content_type': 'text/x-rst; charset=UTF-8'
})),
pytest.param( pytest.param(
'Metadata Version 2.1: Provides Extra', 'Metadata Version 2.1: Provides Extra',
merge_dicts(base_attrs, { params(provides_extras=['foo', 'bar']),
'provides_extras': ['foo', 'bar'] marks=pytest.mark.xfail(reason="provides_extras not read"),
}), marks=pytest.mark.xfail(reason="provides_extras not read")), ),
('Missing author, missing author e-mail', ('Missing author', dict(
{'name': 'foo', 'version': '1.0.0'}), name='foo',
('Missing author', version='1.0.0',
{'name': 'foo', author_email='snorri@sturluson.name',
'version': '1.0.0', )),
'author_email': 'snorri@sturluson.name'}), ('Missing author e-mail', dict(
('Missing author e-mail', name='foo',
{'name': 'foo', version='1.0.0',
'version': '1.0.0', author='Snorri Sturluson',
'author': 'Snorri Sturluson'}), )),
('Missing author', ('Missing author and e-mail', dict(
{'name': 'foo', name='foo',
'version': '1.0.0', version='1.0.0',
'author': 'Snorri Sturluson'}), )),
( ('Bypass normalized version', dict(
'Bypass normalized version',
dict(
name='foo', name='foo',
version=sic('1.0.0a'), version=sic('1.0.0a'),
), )),
),
] ]
return test_cases return test_cases
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment