diff --git a/setuptools/tests/test_distutils_adoption.py b/setuptools/tests/test_distutils_adoption.py index 47493004bb..3f07e9a1da 100644 --- a/setuptools/tests/test_distutils_adoption.py +++ b/setuptools/tests/test_distutils_adoption.py @@ -49,6 +49,13 @@ 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 +126,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 +154,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]