@@ -34,9 +34,8 @@ def wrapper(self, *args, **kwargs):
3434 return wrapper
3535
3636
37- def skip_or_run_test_python_major (func , REQUIRED_PYTHON_MAJOR , msg ):
38- """Decorator to skip or run tests depending on the Python major
39- version.
37+ def skip_or_run_test_python (func , REQUIRED_PYTHON_VERSION , msg ):
38+ """Decorator to skip or run tests depending on the Python version.
4039
4140 Also, it can be used with the 'setUp' method for skipping
4241 the whole test suite.
@@ -47,9 +46,12 @@ def wrapper(self, *args, **kwargs):
4746 if func .__name__ == 'setUp' :
4847 func (self , * args , ** kwargs )
4948
50- major = sys .version_info .major
51- if major != REQUIRED_PYTHON_MAJOR :
52- self .skipTest ('Python %s connector %s' % (major , msg ))
49+ ver = sys .version_info
50+ python_version_str = '%d.%d' % (ver .major , ver .minor )
51+ python_version = pkg_resources .parse_version (python_version_str )
52+ support_version = pkg_resources .parse_version (REQUIRED_PYTHON_VERSION )
53+ if python_version < support_version :
54+ self .skipTest ('Python %s connector %s' % (python_version , msg ))
5355
5456 if func .__name__ != 'setUp' :
5557 func (self , * args , ** kwargs )
@@ -88,4 +90,15 @@ def skip_or_run_mp_bin_test(func):
8890 Python 2 connector do not support mp_bin.
8991 """
9092
91- return skip_or_run_test_python_major (func , 3 , 'does not support mp_bin' )
93+ return skip_or_run_test_python (func , '3.0' , 'does not support mp_bin' )
94+
95+
96+ def skip_or_run_conn_pool_test (func ):
97+ """Decorator to skip or run mp_bin-related tests depending on
98+ the Python version.
99+
100+ Python 2 connector do not support mp_bin.
101+ """
102+
103+ return skip_or_run_test_python (func , '3.7' ,
104+ 'does not support ConnectionPool' )
0 commit comments