Skip to content

Commit 592b602

Browse files
demonolockv.shepard
and
v.shepard
authored
Support special version (#85)
Co-authored-by: v.shepard <[email protected]>
1 parent 94f9b35 commit 592b602

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

Diff for: testgres/utils.py

+10-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
import tempfile
1212

1313
from contextlib import contextmanager
14-
from packaging.version import Version
14+
from packaging.version import Version, InvalidVersion
15+
import re
1516
try:
1617
from shutil import which as find_executable
1718
except ImportError:
@@ -27,8 +28,15 @@
2728
# ports used by nodes
2829
bound_ports = set()
2930

31+
3032
# re-export version type
31-
PgVer = Version
33+
class PgVer(Version):
34+
def __init__(self, version: str) -> None:
35+
try:
36+
super().__init__(version)
37+
except InvalidVersion:
38+
version = re.sub(r"[a-zA-Z].*", "", version)
39+
super().__init__(version)
3240

3341

3442
def reserve_port():

Diff for: tests/test_simple.py

+8
Original file line numberDiff line numberDiff line change
@@ -901,13 +901,21 @@ def test_version_management(self):
901901
d = PgVer('15.0')
902902
e = PgVer('15rc1')
903903
f = PgVer('15beta4')
904+
h = PgVer('15.3biha')
905+
i = PgVer('15.3')
906+
g = PgVer('15.3.1bihabeta1')
907+
k = PgVer('15.3.1')
904908

905909
self.assertTrue(a == b)
906910
self.assertTrue(b > c)
907911
self.assertTrue(a > c)
908912
self.assertTrue(d > e)
909913
self.assertTrue(e > f)
910914
self.assertTrue(d > f)
915+
self.assertTrue(h > f)
916+
self.assertTrue(h == i)
917+
self.assertTrue(g == k)
918+
self.assertTrue(g > h)
911919

912920
version = get_pg_version()
913921
with get_new_node() as node:

0 commit comments

Comments
 (0)