Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit c16437b

Browse files
author
v.shepard
committed
Support special version try #2
1 parent b9d4c8f commit c16437b

File tree

2 files changed

+34
-6
lines changed

2 files changed

+34
-6
lines changed

testgres/utils.py

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
from contextlib import contextmanager
1414
from packaging.version import Version
15+
import re
1516

1617
try:
1718
from shutil import which as find_executable
@@ -31,9 +32,38 @@
3132

3233
# re-export version type
3334
class PgVer(Version):
34-
def __init__(self, version: str) -> None:
35-
version = version.replace('biha', '')
36-
super().__init__(version)
35+
_VERSION_PATTERN = r"""
36+
v?
37+
(?:
38+
(?:(?P<epoch>[0-9]+)!)? # epoch
39+
(?P<release>[0-9]+(?:\.[0-9]+)*) # release segment
40+
(?P<pre> # pre-release
41+
[-_\.]?
42+
(?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview|biha))
43+
[-_\.]?
44+
(?P<pre_n>[0-9]+)?
45+
)?
46+
(?P<post> # post release
47+
(?:-(?P<post_n1>[0-9]+))
48+
|
49+
(?:
50+
[-_\.]?
51+
(?P<post_l>post|rev|r)
52+
[-_\.]?
53+
(?P<post_n2>[0-9]+)?
54+
)
55+
)?
56+
(?P<dev> # dev release
57+
[-_\.]?
58+
(?P<dev_l>dev)
59+
[-_\.]?
60+
(?P<dev_n>[0-9]+)?
61+
)?
62+
)
63+
(?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version
64+
"""
65+
66+
_regex = re.compile(r"^\s*" + _VERSION_PATTERN + r"\s*$", re.VERBOSE | re.IGNORECASE)
3767

3868

3969
def reserve_port():
@@ -213,8 +243,6 @@ def get_pg_version():
213243
.partition('devel')[0] \
214244
.partition('beta')[0] \
215245
.partition('rc')[0]
216-
if 'biha' in version:
217-
version = version.replace('biha', '')
218246
return version
219247

220248

tests/test_simple.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -902,7 +902,7 @@ def test_version_management(self):
902902
e = PgVer('15rc1')
903903
f = PgVer('15beta4')
904904
g = PgVer('15.2beta4')
905-
h = PgVer('15.2biha')
905+
h = PgVer('15.2-biha')
906906

907907
self.assertTrue(a == b)
908908
self.assertTrue(b > c)

0 commit comments

Comments
 (0)