File tree 2 files changed +18
-2
lines changed
2 files changed +18
-2
lines changed Original file line number Diff line number Diff line change 11
11
import tempfile
12
12
13
13
from contextlib import contextmanager
14
- from packaging .version import Version
14
+ from packaging .version import Version , InvalidVersion
15
+ import re
15
16
try :
16
17
from shutil import which as find_executable
17
18
except ImportError :
27
28
# ports used by nodes
28
29
bound_ports = set ()
29
30
31
+
30
32
# 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 )
32
40
33
41
34
42
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