File tree 2 files changed +22
-3
lines changed
2 files changed +22
-3
lines changed Original file line number Diff line number Diff line change 8
8
import sys
9
9
10
10
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
13
17
from six import iteritems
14
18
15
19
from .exceptions import ExecUtilException
21
25
# ports used by nodes
22
26
bound_ports = set ()
23
27
28
+
24
29
# 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 )
26
37
27
38
28
39
def reserve_port ():
Original file line number Diff line number Diff line change @@ -901,13 +901,21 @@ def test_version_management(self):
901
901
d = PgVer ('15.0' )
902
902
e = PgVer ('15rc1' )
903
903
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' )
904
908
905
909
self .assertTrue (a == b )
906
910
self .assertTrue (b > c )
907
911
self .assertTrue (a > c )
908
912
self .assertTrue (d > e )
909
913
self .assertTrue (e > f )
910
914
self .assertTrue (d > f )
915
+ self .assertTrue (h > f )
916
+ self .assertTrue (h == i )
917
+ self .assertTrue (g == k )
918
+ self .assertTrue (g > h )
911
919
912
920
version = get_pg_version ()
913
921
with get_new_node () as node :
You can’t perform that action at this time.
0 commit comments