From ce449121cb2ffb870d6ff3629e8bf55430ca1a4b Mon Sep 17 00:00:00 2001 From: Jay Qi Date: Fri, 22 Sep 2023 16:24:17 -0400 Subject: [PATCH] Using packaging.version instead of distutils --- setup.cfg | 1 + src/pytest_cases/common_pytest_marks.py | 34 ++++++++++++------------- src/pytest_cases/plugin.py | 2 +- tests/cases/issues/test_issue_242.py | 6 ++--- tests/cases/issues/test_issue_246.py | 6 ++--- 5 files changed, 25 insertions(+), 24 deletions(-) diff --git a/setup.cfg b/setup.cfg index a899dc1c..e2bbef1d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -38,6 +38,7 @@ setup_requires = install_requires = decopatch makefun>=1.9.5 + packaging # note: pytest, too :) functools32;python_version<'3.2' # note: do not use double quotes in these, this triggers a weird bug in PyCharm in debug mode only diff --git a/src/pytest_cases/common_pytest_marks.py b/src/pytest_cases/common_pytest_marks.py index e42e6881..de9e2b58 100644 --- a/src/pytest_cases/common_pytest_marks.py +++ b/src/pytest_cases/common_pytest_marks.py @@ -5,7 +5,7 @@ import itertools import warnings -from distutils.version import LooseVersion +from packaging.version import Version try: # python 3.3+ from inspect import signature @@ -27,22 +27,22 @@ from .common_mini_six import string_types -PYTEST_VERSION = LooseVersion(pytest.__version__) -PYTEST3_OR_GREATER = PYTEST_VERSION >= LooseVersion('3.0.0') -PYTEST32_OR_GREATER = PYTEST_VERSION >= LooseVersion('3.2.0') -PYTEST33_OR_GREATER = PYTEST_VERSION >= LooseVersion('3.3.0') -PYTEST34_OR_GREATER = PYTEST_VERSION >= LooseVersion('3.4.0') -PYTEST35_OR_GREATER = PYTEST_VERSION >= LooseVersion('3.5.0') -PYTEST361_36X = LooseVersion('3.6.0') < PYTEST_VERSION < LooseVersion('3.7.0') -PYTEST37_OR_GREATER = PYTEST_VERSION >= LooseVersion('3.7.0') -PYTEST38_OR_GREATER = PYTEST_VERSION >= LooseVersion('3.8.0') -PYTEST46_OR_GREATER = PYTEST_VERSION >= LooseVersion('4.6.0') -PYTEST53_OR_GREATER = PYTEST_VERSION >= LooseVersion('5.3.0') -PYTEST54_OR_GREATER = PYTEST_VERSION >= LooseVersion('5.4.0') -PYTEST421_OR_GREATER = PYTEST_VERSION >= LooseVersion('4.2.1') -PYTEST6_OR_GREATER = PYTEST_VERSION >= LooseVersion('6.0.0') -PYTEST7_OR_GREATER = PYTEST_VERSION >= LooseVersion('7.0.0') -PYTEST71_OR_GREATER = PYTEST_VERSION >= LooseVersion('7.1.0') +PYTEST_VERSION = Version(pytest.__version__) +PYTEST3_OR_GREATER = PYTEST_VERSION >= Version('3.0.0') +PYTEST32_OR_GREATER = PYTEST_VERSION >= Version('3.2.0') +PYTEST33_OR_GREATER = PYTEST_VERSION >= Version('3.3.0') +PYTEST34_OR_GREATER = PYTEST_VERSION >= Version('3.4.0') +PYTEST35_OR_GREATER = PYTEST_VERSION >= Version('3.5.0') +PYTEST361_36X = Version('3.6.0') < PYTEST_VERSION < Version('3.7.0') +PYTEST37_OR_GREATER = PYTEST_VERSION >= Version('3.7.0') +PYTEST38_OR_GREATER = PYTEST_VERSION >= Version('3.8.0') +PYTEST46_OR_GREATER = PYTEST_VERSION >= Version('4.6.0') +PYTEST53_OR_GREATER = PYTEST_VERSION >= Version('5.3.0') +PYTEST54_OR_GREATER = PYTEST_VERSION >= Version('5.4.0') +PYTEST421_OR_GREATER = PYTEST_VERSION >= Version('4.2.1') +PYTEST6_OR_GREATER = PYTEST_VERSION >= Version('6.0.0') +PYTEST7_OR_GREATER = PYTEST_VERSION >= Version('7.0.0') +PYTEST71_OR_GREATER = PYTEST_VERSION >= Version('7.1.0') def get_param_argnames_as_list(argnames): diff --git a/src/pytest_cases/plugin.py b/src/pytest_cases/plugin.py index 5411ede3..a41c2a80 100644 --- a/src/pytest_cases/plugin.py +++ b/src/pytest_cases/plugin.py @@ -572,7 +572,7 @@ def _update_fixture_defs(self): all_fixture_defs = self.tree.get_all_fixture_defs(drop_fake_fixtures=False, try_to_sort=True) # # also sort all partitions (note that we cannot rely on the order in all_fixture_defs when scopes are same!) - # if LooseVersion(pytest.__version__) >= LooseVersion('3.5.0'): + # if Version(pytest.__version__) >= Version('3.5.0'): # f_scope = get_pytest_function_scopeval() # for p in self.partitions: # def sort_by_scope2(fixture_name): # noqa diff --git a/tests/cases/issues/test_issue_242.py b/tests/cases/issues/test_issue_242.py index a36b51cf..cb51667a 100644 --- a/tests/cases/issues/test_issue_242.py +++ b/tests/cases/issues/test_issue_242.py @@ -1,5 +1,5 @@ import pytest -from distutils.version import LooseVersion +from packaging.version import Version import sys @@ -9,8 +9,8 @@ from functools import partial -PYTEST_VERSION = LooseVersion(pytest.__version__) -PYTEST3_OR_GREATER = PYTEST_VERSION >= LooseVersion('3.0.0') +PYTEST_VERSION = Version(pytest.__version__) +PYTEST3_OR_GREATER = PYTEST_VERSION >= Version('3.0.0') PY3 = sys.version_info >= (3,) diff --git a/tests/cases/issues/test_issue_246.py b/tests/cases/issues/test_issue_246.py index ac6213ee..55950ace 100644 --- a/tests/cases/issues/test_issue_246.py +++ b/tests/cases/issues/test_issue_246.py @@ -1,10 +1,10 @@ -from distutils.version import LooseVersion +from packaging.version import Version import pytest from pytest_cases import parametrize_with_cases -PYTEST_VERSION = LooseVersion(pytest.__version__) -PYTEST3_OR_GREATER = PYTEST_VERSION >= LooseVersion('3.0.0') +PYTEST_VERSION = Version(pytest.__version__) +PYTEST3_OR_GREATER = PYTEST_VERSION >= Version('3.0.0') if PYTEST3_OR_GREATER: @pytest.mark.foo