Commit f52b3b1c authored by Paul Ganssle's avatar Paul Ganssle Committed by GitHub

Merge pull request #1590 from pganssle/fix_author

Fix issue with missing author metadata
parents 95df56d0 ac3cee39
Fixed regression where packages without ``author`` or ``author_email`` fields generated malformed package metadata.
...@@ -138,8 +138,8 @@ def write_pkg_file(self, file): ...@@ -138,8 +138,8 @@ def write_pkg_file(self, file):
write_field('Home-page', self.get_url()) write_field('Home-page', self.get_url())
if version < StrictVersion('1.2'): if version < StrictVersion('1.2'):
write_field('Author:', self.get_contact()) write_field('Author', self.get_contact())
write_field('Author-email:', self.get_contact_email()) write_field('Author-email', self.get_contact_email())
else: else:
optional_fields = ( optional_fields = (
('Author', 'author'), ('Author', 'author'),
......
...@@ -115,6 +115,20 @@ def __read_test_cases(): ...@@ -115,6 +115,20 @@ def __read_test_cases():
merge_dicts(base_attrs, { merge_dicts(base_attrs, {
'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',
{'name': 'foo', 'version': '1.0.0'}),
('Missing author',
{'name': 'foo',
'version': '1.0.0',
'author_email': 'snorri@sturluson.name'}),
('Missing author e-mail',
{'name': 'foo',
'version': '1.0.0',
'author': 'Snorri Sturluson'}),
('Missing author',
{'name': 'foo',
'version': '1.0.0',
'author': 'Snorri Sturluson'}),
] ]
return test_cases return test_cases
...@@ -141,6 +155,8 @@ def test_read_metadata(name, attrs): ...@@ -141,6 +155,8 @@ def test_read_metadata(name, attrs):
tested_attrs = [ tested_attrs = [
('name', dist_class.get_name), ('name', dist_class.get_name),
('version', dist_class.get_version), ('version', dist_class.get_version),
('author', dist_class.get_contact),
('author_email', dist_class.get_contact_email),
('metadata_version', dist_class.get_metadata_version), ('metadata_version', dist_class.get_metadata_version),
('provides', dist_class.get_provides), ('provides', dist_class.get_provides),
('description', dist_class.get_description), ('description', dist_class.get_description),
......
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