diff --git a/Lib/packaging/tests/test_command_check.py b/Lib/packaging/tests/test_command_check.py --- a/Lib/packaging/tests/test_command_check.py +++ b/Lib/packaging/tests/test_command_check.py @@ -153,6 +153,13 @@ class CheckTestCase(support.LoggingCatcher, cmd.warn('hello %s %s', 'beautiful', 'world') self.assertEqual(self.get_logs(), ['check: hello beautiful world']) + def test_irrational_version_raise_error(self): + metadata = {'home_page': 'xxx', 'author': 'xxx', + 'author_email': 'xxx', 'name': 'xxx', + 'version': '0.4.5dev'} + self.assertRaises(PackagingSetupError, self._run, metadata, + **{'strict': 1}) + def test_suite(): return unittest.makeSuite(CheckTestCase) diff --git a/Lib/packaging/tests/test_metadata.py b/Lib/packaging/tests/test_metadata.py --- a/Lib/packaging/tests/test_metadata.py +++ b/Lib/packaging/tests/test_metadata.py @@ -446,6 +446,14 @@ class MetadataTestCase(LoggingCatcher, 'version': '1.0', 'obsoletes': ['my.pkg (splat)']}) + def test_check_irrational_version_warn(self): + fields = {'home_page': 'xxx', 'author': 'xxx', + 'author_email': 'xxx', 'name': 'xxx', + 'version': '0.4.5dev'} + metadata = Metadata(mapping=fields) + missing, warnings = metadata.check(strict=True) + self.assertIn("Wrong value for 'Version': 0.4.5dev", warnings) + def test_suite(): return unittest.makeSuite(MetadataTestCase)