aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pkg_resources.py4
-rw-r--r--setuptools/tests/test_resources.py20
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