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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy