File tree Expand file tree Collapse file tree 2 files changed +22
-3
lines changed Expand file tree Collapse file tree 2 files changed +22
-3
lines changed Original file line number Diff line number Diff line change 88import sys
99
1010from 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
1317from six import iteritems
1418
1519from .exceptions import ExecUtilException
2125# ports used by nodes
2226bound_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
2839def reserve_port ():
Original file line number Diff line number Diff 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 :
You can’t perform that action at this time.
0 commit comments