Skip to content

Commit 2338931

Browse files
author
v.shepard
committed
merge master
2 parents 12aa7ba + 09e9f01 commit 2338931

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

testgres/utils.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,12 @@
88
import sys
99

1010
from contextlib import contextmanager
11-
from packaging.version import Version
12-
11+
from packaging.version import Version, InvalidVersion
12+
import re
13+
try:
14+
from shutil import which as find_executable
15+
except ImportError:
16+
from distutils.spawn import find_executable
1317
from six import iteritems
1418

1519
from .exceptions import ExecUtilException
@@ -21,8 +25,15 @@
2125
# ports used by nodes
2226
bound_ports = set()
2327

28+
2429
# re-export version type
25-
PgVer = Version
30+
class PgVer(Version):
31+
def __init__(self, version: str) -> None:
32+
try:
33+
super().__init__(version)
34+
except InvalidVersion:
35+
version = re.sub(r"[a-zA-Z].*", "", version)
36+
super().__init__(version)
2637

2738

2839
def reserve_port():

tests/test_simple.py

Lines changed: 8 additions & 0 deletions
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)