diff options
-rw-r--r-- | pkg_resources.py | 4 | ||||
-rw-r--r-- | setuptools/tests/test_resources.py | 20 |
2 files changed, 18 insertions, 6 deletions
diff --git a/pkg_resources.py b/pkg_resources.py index 52d92669..e8dae8a4 100644 --- a/pkg_resources.py +++ b/pkg_resources.py @@ -1912,7 +1912,7 @@ replace = {'pre':'c', 'preview':'c','-':'final-','rc':'c','dev':'@'}.get def _parse_version_parts(s): for part in component_re.split(s): part = replace(part,part) - if not part or part=='.': + if part in ['', '.']: continue if part[:1] in '0123456789': yield part.zfill(8) # pad for numeric comparison @@ -1955,8 +1955,6 @@ def parse_version(s): parts = [] for part in _parse_version_parts(s.lower()): if part.startswith('*'): - if part<'*final': # remove '-' before a prerelease tag - while parts and parts[-1]=='*final-': parts.pop() # remove trailing zeros from each series of numeric parts while parts and parts[-1]=='00000000': parts.pop() diff --git a/setuptools/tests/test_resources.py b/setuptools/tests/test_resources.py index 227ecfdf..3e0309f1 100644 --- a/setuptools/tests/test_resources.py +++ b/setuptools/tests/test_resources.py @@ -477,14 +477,13 @@ class ParseTests(TestCase): p1, p2 = parse_version(s1),parse_version(s2) self.assertEqual(p1,p2, (s1,s2,p1,p2)) - c('1.2-rc1', '1.2rc1') c('0.4', '0.4.0') c('0.4.0.0', '0.4.0') c('0.4.0-0', '0.4-0') c('0pl1', '0.0pl1') c('0pre1', '0.0c1') c('0.0.0preview1', '0c1') - c('0.0c1', '0-rc1') + c('0.0c1', '0rc1') c('1.2a1', '1.2.a.1'); c('1.2...a', '1.2a') def testVersionOrdering(self): @@ -493,11 +492,14 @@ class ParseTests(TestCase): self.assert_(p1<p2, (s1,s2,p1,p2)) c('2.1','2.1.1') + c('2.1.0','2.10') c('2a1','2b0') + c('2b1','2c0') c('2a1','2.1') c('2.3a1', '2.3') c('2.1-1', '2.1-2') c('2.1-1', '2.1.1') + c('2.1', '2.1.1-1') c('2.1', '2.1pl4') c('2.1a0-20040501', '2.1') c('1.1', '02.1') @@ -508,8 +510,20 @@ class ParseTests(TestCase): c('0.4', '4.0') c('0.0.4', '0.4.0') c('0pl1', '0.4pl1') - c('2.1.0-rc1','2.1.0') c('2.1dev','2.1a0') + c('2.1.0rc1','2.1.0') + c('2.1.0','2.1.0-rc0') + c('2.1.0','2.1.0-a') + c('2.1.0','2.1.0-alpha') + c('2.1.0','2.1.0-foo') + c('1.0','1.0-1') + c('1.0-1','1.0.1') + c('1.0a','1.0b') + c('1.0dev','1.0rc1') + c('1.0pre','1.0') + c('1.0pre','1.0') + c('1.0a','1.0-a') + c('1.0rc1','1.0-rc1') torture =""" 0.80.1-3 0.80.1-2 0.80.1-1 0.79.9999+0.80.0pre4-1 |