From 5f80dc71203b93e77490149c847b266390dca3ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 13 Oct 2022 17:51:56 +0200 Subject: [PATCH] Skip stdlib distutils tests on Python 3.12 This is an imperfect way to make the tests pass on Python 3.12. Long-term goal is to deprecate the stdlib option, see https://github.com/pypa/setuptools/issues/3625 --- setuptools/tests/test_distutils_adoption.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/setuptools/tests/test_distutils_adoption.py b/setuptools/tests/test_distutils_adoption.py index 47493004bb3..1beb02c31cc 100644 --- a/setuptools/tests/test_distutils_adoption.py +++ b/setuptools/tests/test_distutils_adoption.py @@ -49,6 +49,12 @@ def count_meta_path(venv, env=None): return int(popen_text(venv.run)(cmd, env=win_sr(env))) +skip_without_stdlib_distutils = pytest.mark.skipif( + sys.version_info >= (3, 12), + reason='stdlib distutils is removed from Python 3.12+', +) + +@skip_without_stdlib_distutils def test_distutils_stdlib(venv): """ Ensure stdlib distutils is used when appropriate. @@ -119,9 +125,9 @@ def test_distutils_has_origin(): @pytest.mark.parametrize( "distutils_version, imported_module", [ - ("stdlib", "dir_util"), - ("stdlib", "file_util"), - ("stdlib", "archive_util"), + pytest.param("stdlib", "dir_util", marks=skip_without_stdlib_distutils), + pytest.param("stdlib", "file_util", marks=skip_without_stdlib_distutils), + pytest.param("stdlib", "archive_util", marks=skip_without_stdlib_distutils), ("local", "dir_util"), ("local", "file_util"), ("local", "archive_util"), @@ -147,7 +153,13 @@ def test_modules_are_not_duplicated_on_import( """ -@pytest.mark.parametrize("distutils_version", "local stdlib".split()) +@pytest.mark.parametrize( + "distutils_version", + [ + "local", + pytest.param("stdlib", marks=skip_without_stdlib_distutils), + ] +) def test_log_module_is_not_duplicated_on_import(distutils_version, tmpdir_cwd, venv): env = dict(SETUPTOOLS_USE_DISTUTILS=distutils_version) cmd = ['python', '-c', ENSURE_LOG_IMPORT_IS_NOT_DUPLICATED]