summaryrefslogtreecommitdiff
path: root/setuptools/tests
diff options
context:
space:
mode:
authorMiro Hrončok <miro@hroncok.cz>2022-10-13 17:51:56 +0200
committerMiro Hrončok <miro@hroncok.cz>2022-10-13 18:11:02 +0200
commit3d7dd4782ee291c5462b5c31b287852ea0b97941 (patch)
treeedde44f679c07c8ee3c45916a1b06ce3d8692523 /setuptools/tests
parent832a51c697d6c03500f94e09d699d1394e04c0c2 (diff)
downloadpython-setuptools-git-3d7dd4782ee291c5462b5c31b287852ea0b97941.tar.gz
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
Diffstat (limited to 'setuptools/tests')
-rw-r--r--setuptools/tests/test_distutils_adoption.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/setuptools/tests/test_distutils_adoption.py b/setuptools/tests/test_distutils_adoption.py
index 47493004..3f07e9a1 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 @@ print("success")
@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 @@ print("success")
"""
-@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]