From d4ffbb1d2ad0da57422a8b35f80b276c570f383b Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Thu, 20 Jun 2024 11:10:08 +0100 Subject: [PATCH 1/5] Remove unecessary WheelFile usage in tests --- setuptools/tests/test_bdist_wheel.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/setuptools/tests/test_bdist_wheel.py b/setuptools/tests/test_bdist_wheel.py index 5d28368c88..d257651ad3 100644 --- a/setuptools/tests/test_bdist_wheel.py +++ b/setuptools/tests/test_bdist_wheel.py @@ -25,7 +25,6 @@ remove_readonly_exc, ) from setuptools.extern.packaging import tags -from setuptools.extern.wheel.wheelfile import WheelFile DEFAULT_FILES = { "dummy_dist-1.0.dist-info/top_level.txt", @@ -170,7 +169,7 @@ def test_licenses_default(dummy_dist, monkeypatch, tmp_path): str(tmp_path), "--universal", ]) - with WheelFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: + with ZipFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: license_files = { "dummy_dist-1.0.dist-info/" + fname for fname in DEFAULT_LICENSE_FILES } @@ -190,7 +189,7 @@ def test_licenses_deprecated(dummy_dist, monkeypatch, tmp_path): str(tmp_path), "--universal", ]) - with WheelFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: + with ZipFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: license_files = {"dummy_dist-1.0.dist-info/DUMMYFILE"} assert set(wf.namelist()) == DEFAULT_FILES | license_files @@ -219,7 +218,7 @@ def test_licenses_override(dummy_dist, monkeypatch, tmp_path, config_file, confi str(tmp_path), "--universal", ]) - with WheelFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: + with ZipFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: license_files = { "dummy_dist-1.0.dist-info/" + fname for fname in {"DUMMYFILE", "LICENSE"} } @@ -239,7 +238,7 @@ def test_licenses_disabled(dummy_dist, monkeypatch, tmp_path): str(tmp_path), "--universal", ]) - with WheelFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: + with ZipFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: assert set(wf.namelist()) == DEFAULT_FILES @@ -254,7 +253,7 @@ def test_build_number(dummy_dist, monkeypatch, tmp_path): "--universal", "--build-number=2", ]) - with WheelFile("dist/dummy_dist-1.0-2-py2.py3-none-any.whl") as wf: + with ZipFile("dist/dummy_dist-1.0-2-py2.py3-none-any.whl") as wf: filenames = set(wf.namelist()) assert "dummy_dist-1.0.dist-info/RECORD" in filenames assert "dummy_dist-1.0.dist-info/METADATA" in filenames @@ -307,7 +306,7 @@ def test_compression(dummy_dist, monkeypatch, tmp_path, option, compress_type): "--universal", f"--compression={option}", ]) - with WheelFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: + with ZipFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: filenames = set(wf.namelist()) assert "dummy_dist-1.0.dist-info/RECORD" in filenames assert "dummy_dist-1.0.dist-info/METADATA" in filenames @@ -317,7 +316,7 @@ def test_compression(dummy_dist, monkeypatch, tmp_path, option, compress_type): def test_wheelfile_line_endings(wheel_paths): for path in wheel_paths: - with WheelFile(path) as wf: + with ZipFile(path) as wf: wheelfile = next(fn for fn in wf.filelist if fn.filename.endswith("WHEEL")) wheelfile_contents = wf.read(wheelfile) assert b"\r" not in wheelfile_contents From beb112ab78a12c659c06b3c7c01836ee6acbe903 Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Thu, 20 Jun 2024 12:01:21 +0100 Subject: [PATCH 2/5] Inline test_bdist_wheel examples and run bdist_wheel in process --- setuptools/tests/test_bdist_wheel.py | 350 ++++++++++++++++++--------- 1 file changed, 232 insertions(+), 118 deletions(-) diff --git a/setuptools/tests/test_bdist_wheel.py b/setuptools/tests/test_bdist_wheel.py index d257651ad3..a20ebd0546 100644 --- a/setuptools/tests/test_bdist_wheel.py +++ b/setuptools/tests/test_bdist_wheel.py @@ -7,23 +7,25 @@ import shutil import stat import struct -import subprocess import sys import sysconfig from contextlib import suppress -from functools import partial from inspect import cleandoc from unittest.mock import Mock from zipfile import ZipFile +import jaraco.path import pytest + import setuptools +from distutils.core import run_setup from setuptools.command.bdist_wheel import ( bdist_wheel, get_abi_tag, remove_readonly, remove_readonly_exc, ) +from setuptools.dist import Distribution from setuptools.extern.packaging import tags DEFAULT_FILES = { @@ -58,51 +60,187 @@ """ -@pytest.fixture(scope="module") -def wheel_paths(request, tmp_path_factory): - test_distributions = ( - "complex-dist", - "simple.dist", - "headers.dist", - "commasinfilenames.dist", - "unicode.dist", +EXAMPLES = { + "dummy-dist": { + "setup.py": SETUPPY_EXAMPLE, + "licenses": {"DUMMYFILE": ""}, + **dict.fromkeys(DEFAULT_LICENSE_FILES | OTHER_IGNORED_FILES, ""), + }, + "simple-dist": { + "setup.py": cleandoc( + """ + from setuptools import setup + + setup( + name="simple.dist", + version="0.1", + description="A testing distribution \N{SNOWMAN}", + extras_require={"voting": ["beaglevote"]}, + ) + """ + ), + "simpledist": "", + }, + "complex-dist": { + "setup.py": cleandoc( + """ + from setuptools import setup + + setup( + name="complex-dist", + version="0.1", + description="Another testing distribution \N{SNOWMAN}", + long_description="Another testing distribution \N{SNOWMAN}", + author="Illustrious Author", + author_email="illustrious@example.org", + url="http://example.org/exemplary", + packages=["complexdist"], + setup_requires=["setuptools"], + install_requires=["quux", "splort"], + extras_require={"simple": ["simple.dist"]}, + tests_require=["foo", "bar>=10.0.0"], + entry_points={ + "console_scripts": [ + "complex-dist=complexdist:main", + "complex-dist2=complexdist:main", + ], + }, + ) + """ + ), + "complexdist": {"__init__.py": "def main(): return"}, + }, + "headers-dist": { + "setup.py": cleandoc( + """ + from setuptools import setup + + setup( + name="headers.dist", + version="0.1", + description="A distribution with headers", + headers=["header.h"], + ) + """ + ), + "setup.cfg": "[bdist_wheel]\nuniversal=1", + "headersdist.py": "", + "header.h": "", + }, + "commasinfilenames-dist": { + "setup.py": cleandoc( + """ + from setuptools import setup + + setup( + name="testrepo", + version="0.1", + packages=["mypackage"], + description="A test package with commas in file names", + include_package_data=True, + package_data={"mypackage.data": ["*"]}, + ) + """ + ), + "mypackage": { + "__init__.py": "", + "data": {"__init__.py": "", "1,2,3.txt": ""}, + }, + "testrepo-0.1.0": { + "mypackage": {"__init__.py": ""}, + }, + }, + "unicode-dist": { + "setup.py": cleandoc( + """ + from setuptools import setup + + setup( + name="unicode.dist", + version="0.1", + description="A testing distribution \N{SNOWMAN}", + packages=["unicodedist"], + ) + """ + ), + "unicodedist": {"__init__.py": "", "åäö_日本語.py": ""}, + }, + "utf8-metadata-dist": { + "setup.cfg": cleandoc( + """ + [metadata] + name = utf8-metadata-dist + version = 42 + author_email = "John X. Ãørçeč" , Γαμα קּ 東 + long_description = file: README.rst + """ + ), + "README.rst": "UTF-8 描述 説明", + }, +} + + +if sys.platform != "win32": + # ABI3 extensions don't really work on Windows + EXAMPLES["abi3extension-dist"] = { + "setup.py": cleandoc( + """ + from setuptools import Extension, setup + + setup( + name="extension.dist", + version="0.1", + description="A testing distribution \N{SNOWMAN}", + ext_modules=[ + Extension( + name="extension", sources=["extension.c"], py_limited_api=True + ) + ], + ) + """ + ), + "setup.cfg": "[bdist_wheel]\npy_limited_api=cp32", + "extension.c": "#define Py_LIMITED_API 0x03020000\n#include ", + } + + +def bdist_wheel_cmd(**kwargs): + """Run command in the same process so that it is easier to collect coverage""" + dist_obj = ( + run_setup("setup.py", stop_after="init") + if os.path.exists("setup.py") + else Distribution({"script_name": "%%build_meta%%"}) ) + dist_obj.parse_config_files() + cmd = bdist_wheel(dist_obj) + for attr, value in kwargs.items(): + setattr(cmd, attr, value) + cmd.finalize_options() + return cmd + + +def mkexample(tmp_path_factory, name): + basedir = tmp_path_factory.mktemp(name) + jaraco.path.build(EXAMPLES[name], prefix=str(basedir)) + return basedir - if sys.platform != "win32": - # ABI3 extensions don't really work on Windows - test_distributions += ("abi3extension.dist",) - pwd = os.path.abspath(os.curdir) - request.addfinalizer(partial(os.chdir, pwd)) - this_dir = os.path.dirname(__file__) - build_dir = tmp_path_factory.mktemp("build") +@pytest.fixture(scope="session") +def wheel_paths(tmp_path_factory): + build_base = tmp_path_factory.mktemp("build") dist_dir = tmp_path_factory.mktemp("dist") - for dist in test_distributions: - os.chdir(os.path.join(this_dir, "bdist_wheel_testdata", dist)) - subprocess.check_call([ - sys.executable, - "setup.py", - "bdist_wheel", - "-b", - str(build_dir), - "-d", - str(dist_dir), - ]) + for name in EXAMPLES: + example_dir = mkexample(tmp_path_factory, name) + build_dir = build_base / name + with jaraco.path.DirectoryStack().context(example_dir): + bdist_wheel_cmd(bdist_dir=str(build_dir), dist_dir=str(dist_dir)).run() - return sorted(str(fname) for fname in dist_dir.iterdir() if fname.suffix == ".whl") + return sorted(str(fname) for fname in dist_dir.glob("*.whl")) @pytest.fixture def dummy_dist(tmp_path_factory): - basedir = tmp_path_factory.mktemp("dummy_dist") - basedir.joinpath("setup.py").write_text(SETUPPY_EXAMPLE, encoding="utf-8") - for fname in DEFAULT_LICENSE_FILES | OTHER_IGNORED_FILES: - basedir.joinpath(fname).write_text("", encoding="utf-8") - - licensedir = basedir.joinpath("licenses") - licensedir.mkdir() - licensedir.joinpath("DUMMYFILE").write_text("", encoding="utf-8") - return basedir + return mkexample(tmp_path_factory, "dummy-dist") def test_no_scripts(wheel_paths): @@ -161,14 +299,7 @@ def license_paths(self): def test_licenses_default(dummy_dist, monkeypatch, tmp_path): monkeypatch.chdir(dummy_dist) - subprocess.check_call([ - sys.executable, - "setup.py", - "bdist_wheel", - "-b", - str(tmp_path), - "--universal", - ]) + bdist_wheel_cmd(bdist_dir=str(tmp_path), universal=True).run() with ZipFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: license_files = { "dummy_dist-1.0.dist-info/" + fname for fname in DEFAULT_LICENSE_FILES @@ -181,14 +312,9 @@ def test_licenses_deprecated(dummy_dist, monkeypatch, tmp_path): "[metadata]\nlicense_file=licenses/DUMMYFILE", encoding="utf-8" ) monkeypatch.chdir(dummy_dist) - subprocess.check_call([ - sys.executable, - "setup.py", - "bdist_wheel", - "-b", - str(tmp_path), - "--universal", - ]) + + bdist_wheel_cmd(bdist_dir=str(tmp_path), universal=True).run() + with ZipFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: license_files = {"dummy_dist-1.0.dist-info/DUMMYFILE"} assert set(wf.namelist()) == DEFAULT_FILES | license_files @@ -210,14 +336,7 @@ def test_licenses_deprecated(dummy_dist, monkeypatch, tmp_path): def test_licenses_override(dummy_dist, monkeypatch, tmp_path, config_file, config): dummy_dist.joinpath(config_file).write_text(config, encoding="utf-8") monkeypatch.chdir(dummy_dist) - subprocess.check_call([ - sys.executable, - "setup.py", - "bdist_wheel", - "-b", - str(tmp_path), - "--universal", - ]) + bdist_wheel_cmd(bdist_dir=str(tmp_path), universal=True).run() with ZipFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: license_files = { "dummy_dist-1.0.dist-info/" + fname for fname in {"DUMMYFILE", "LICENSE"} @@ -230,51 +349,65 @@ def test_licenses_disabled(dummy_dist, monkeypatch, tmp_path): "[metadata]\nlicense_files=\n", encoding="utf-8" ) monkeypatch.chdir(dummy_dist) - subprocess.check_call([ - sys.executable, - "setup.py", - "bdist_wheel", - "-b", - str(tmp_path), - "--universal", - ]) + bdist_wheel_cmd(bdist_dir=str(tmp_path), universal=True).run() with ZipFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: assert set(wf.namelist()) == DEFAULT_FILES def test_build_number(dummy_dist, monkeypatch, tmp_path): monkeypatch.chdir(dummy_dist) - subprocess.check_call([ - sys.executable, - "setup.py", - "bdist_wheel", - "-b", - str(tmp_path), - "--universal", - "--build-number=2", - ]) + bdist_wheel_cmd(bdist_dir=str(tmp_path), build_number="2", universal=True).run() with ZipFile("dist/dummy_dist-1.0-2-py2.py3-none-any.whl") as wf: filenames = set(wf.namelist()) assert "dummy_dist-1.0.dist-info/RECORD" in filenames assert "dummy_dist-1.0.dist-info/METADATA" in filenames -def test_limited_abi(monkeypatch, tmp_path): +EXTENSION_EXAMPLE = """\ +#include + +static PyMethodDef methods[] = { + { NULL, NULL, 0, NULL } +}; + +static struct PyModuleDef module_def = { + PyModuleDef_HEAD_INIT, + "extension", + "Dummy extension module", + -1, + methods +}; + +PyMODINIT_FUNC PyInit_extension(void) { + return PyModule_Create(&module_def); +} +""" +EXTENSION_SETUPPY = """\ +from __future__ import annotations + +from setuptools import Extension, setup + +setup( + name="extension.dist", + version="0.1", + description="A testing distribution \N{SNOWMAN}", + ext_modules=[Extension(name="extension", sources=["extension.c"])], +) +""" + + +@pytest.mark.filterwarnings( + "once:Config variable '.*' is unset.*, Python ABI tag may be incorrect" +) +def test_limited_abi(monkeypatch, tmp_path, tmp_path_factory): """Test that building a binary wheel with the limited ABI works.""" - this_dir = os.path.dirname(__file__) - source_dir = os.path.join(this_dir, "bdist_wheel_testdata", "extension.dist") + source_dir = tmp_path_factory.mktemp("extension_dist") + (source_dir / "setup.py").write_text(EXTENSION_SETUPPY, encoding="utf-8") + (source_dir / "extension.c").write_text(EXTENSION_EXAMPLE, encoding="utf-8") build_dir = tmp_path.joinpath("build") dist_dir = tmp_path.joinpath("dist") monkeypatch.chdir(source_dir) - subprocess.check_call([ - sys.executable, - "setup.py", - "bdist_wheel", - "-b", - str(build_dir), - "-d", - str(dist_dir), - ]) + bdist_wheel_cmd(bdist_dir=str(build_dir), dist_dir=str(dist_dir)).run() def test_build_from_readonly_tree(dummy_dist, monkeypatch, tmp_path): @@ -287,7 +420,7 @@ def test_build_from_readonly_tree(dummy_dist, monkeypatch, tmp_path): for fname in files: os.chmod(os.path.join(root, fname), stat.S_IREAD) - subprocess.check_call([sys.executable, "setup.py", "bdist_wheel"]) + bdist_wheel_cmd().run() @pytest.mark.parametrize( @@ -297,15 +430,7 @@ def test_build_from_readonly_tree(dummy_dist, monkeypatch, tmp_path): ) def test_compression(dummy_dist, monkeypatch, tmp_path, option, compress_type): monkeypatch.chdir(dummy_dist) - subprocess.check_call([ - sys.executable, - "setup.py", - "bdist_wheel", - "-b", - str(tmp_path), - "--universal", - f"--compression={option}", - ]) + bdist_wheel_cmd(bdist_dir=str(tmp_path), universal=True, compression=option).run() with ZipFile("dist/dummy_dist-1.0-py2.py3-none-any.whl") as wf: filenames = set(wf.namelist()) assert "dummy_dist-1.0.dist-info/RECORD" in filenames @@ -325,15 +450,10 @@ def test_wheelfile_line_endings(wheel_paths): def test_unix_epoch_timestamps(dummy_dist, monkeypatch, tmp_path): monkeypatch.setenv("SOURCE_DATE_EPOCH", "0") monkeypatch.chdir(dummy_dist) - subprocess.check_call([ - sys.executable, - "setup.py", - "bdist_wheel", - "-b", - str(tmp_path), - "--universal", - "--build-number=2", - ]) + bdist_wheel_cmd(bdist_dir=str(tmp_path), build_number="2a", universal=True).run() + with ZipFile("dist/dummy_dist-1.0-2a-py2.py3-none-any.whl") as wf: + for zinfo in wf.filelist: + assert zinfo.date_time >= (1980, 1, 1, 0, 0, 0) # min epoch is used def test_get_abi_tag_windows(monkeypatch): @@ -371,13 +491,7 @@ def test_get_abi_tag_fallback(monkeypatch): def test_platform_with_space(dummy_dist, monkeypatch): """Ensure building on platforms with a space in the name succeed.""" monkeypatch.chdir(dummy_dist) - subprocess.check_call([ - sys.executable, - "setup.py", - "bdist_wheel", - "--plat-name", - "isilon onefs", - ]) + bdist_wheel_cmd(plat_name="isilon onefs").run() def test_rmtree_readonly(monkeypatch, tmp_path): @@ -435,7 +549,7 @@ def test_data_dir_with_tag_build(monkeypatch, tmp_path): with open(file, "w", encoding="utf-8") as fh: fh.write(cleandoc(content)) - subprocess.check_call([sys.executable, "setup.py", "bdist_wheel"]) + bdist_wheel_cmd().run() # Ensure .whl, .dist-info and .data contain the local segment wheel_path = "dist/test-1.0+what-py3-none-any.whl" From 61e18ff75de5e77b2587efaa56f473e3ed78936d Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Thu, 20 Jun 2024 12:07:00 +0100 Subject: [PATCH 3/5] Adopt latest change from wheel test From https://github.com/pypa/wheel/commit/dedcc19f517c08899cbe730783cb900e0c6111c0 --- setuptools/tests/test_bdist_wheel.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setuptools/tests/test_bdist_wheel.py b/setuptools/tests/test_bdist_wheel.py index a20ebd0546..232b66d368 100644 --- a/setuptools/tests/test_bdist_wheel.py +++ b/setuptools/tests/test_bdist_wheel.py @@ -160,6 +160,7 @@ version="0.1", description="A testing distribution \N{SNOWMAN}", packages=["unicodedist"], + zip_safe=True, ) """ ), From ffea3b0abc3425e21c578bcd1460e366f7d0f34f Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Thu, 20 Jun 2024 12:08:19 +0100 Subject: [PATCH 4/5] Remove no longer used bdist_wheel_testdata directory --- .../abi3extension.dist/extension.c | 2 -- .../abi3extension.dist/setup.cfg | 2 -- .../abi3extension.dist/setup.py | 12 --------- .../mypackage/__init__.py | 0 .../mypackage/data/1,2,3.txt | 0 .../mypackage/data/__init__.py | 0 .../commasinfilenames.dist/setup.py | 12 --------- .../testrepo-0.1.0/mypackage/__init__.py | 0 .../complex-dist/complexdist/__init__.py | 5 ---- .../complex-dist/setup.py | 24 ------------------ .../extension.dist/extension.abi3.so | Bin 23312 -> 0 bytes .../extension.dist/extension.c | 17 ------------- .../extension.dist/setup.py | 10 -------- .../headers.dist/header.h | 0 .../headers.dist/headersdist.py | 0 .../headers.dist/setup.cfg | 2 -- .../headers.dist/setup.py | 10 -------- .../macosx_minimal_system_version/libb.dylib | Bin 9544 -> 0 bytes .../macosx_minimal_system_version/test_lib.c | 13 ---------- .../test_lib_10_10.dylib | Bin 756 -> 0 bytes .../test_lib_10_10_10.dylib | Bin 756 -> 0 bytes .../test_lib_10_10_386.dylib | Bin 668 -> 0 bytes .../test_lib_10_10_fat.dylib | Bin 8948 -> 0 bytes .../test_lib_10_14.dylib | Bin 764 -> 0 bytes .../test_lib_10_14_386.dylib | Bin 676 -> 0 bytes .../test_lib_10_14_fat.dylib | Bin 8956 -> 0 bytes .../test_lib_10_6.dylib | Bin 756 -> 0 bytes .../test_lib_10_6_386.dylib | Bin 668 -> 0 bytes .../test_lib_10_6_fat.dylib | Bin 8948 -> 0 bytes .../test_lib_10_9_universal2.dylib | Bin 65936 -> 0 bytes .../test_lib_11.dylib | Bin 16464 -> 0 bytes .../test_lib_multiple_fat.dylib | Bin 8956 -> 0 bytes .../bdist_wheel_testdata/simple.dist/setup.py | 11 -------- .../simple.dist/simpledist/__init__.py | 0 .../unicode.dist/setup.py | 11 -------- .../unicode.dist/unicodedist/__init__.py | 0 ...6_\346\227\245\346\234\254\350\252\236.py" | 0 37 files changed, 131 deletions(-) delete mode 100644 setuptools/tests/bdist_wheel_testdata/abi3extension.dist/extension.c delete mode 100644 setuptools/tests/bdist_wheel_testdata/abi3extension.dist/setup.cfg delete mode 100644 setuptools/tests/bdist_wheel_testdata/abi3extension.dist/setup.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/mypackage/__init__.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/mypackage/data/1,2,3.txt delete mode 100644 setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/mypackage/data/__init__.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/setup.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/testrepo-0.1.0/mypackage/__init__.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/complex-dist/complexdist/__init__.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/complex-dist/setup.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/extension.dist/extension.abi3.so delete mode 100644 setuptools/tests/bdist_wheel_testdata/extension.dist/extension.c delete mode 100644 setuptools/tests/bdist_wheel_testdata/extension.dist/setup.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/headers.dist/header.h delete mode 100644 setuptools/tests/bdist_wheel_testdata/headers.dist/headersdist.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/headers.dist/setup.cfg delete mode 100644 setuptools/tests/bdist_wheel_testdata/headers.dist/setup.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/libb.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib.c delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_10.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_10_10.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_10_386.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_10_fat.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_14.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_14_386.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_14_fat.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_6.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_6_386.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_6_fat.dylib delete mode 100755 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_9_universal2.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_11.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_multiple_fat.dylib delete mode 100644 setuptools/tests/bdist_wheel_testdata/simple.dist/setup.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/simple.dist/simpledist/__init__.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/unicode.dist/setup.py delete mode 100644 setuptools/tests/bdist_wheel_testdata/unicode.dist/unicodedist/__init__.py delete mode 100644 "setuptools/tests/bdist_wheel_testdata/unicode.dist/unicodedist/\303\245\303\244\303\266_\346\227\245\346\234\254\350\252\236.py" diff --git a/setuptools/tests/bdist_wheel_testdata/abi3extension.dist/extension.c b/setuptools/tests/bdist_wheel_testdata/abi3extension.dist/extension.c deleted file mode 100644 index a37c3fa2dc..0000000000 --- a/setuptools/tests/bdist_wheel_testdata/abi3extension.dist/extension.c +++ /dev/null @@ -1,2 +0,0 @@ -#define Py_LIMITED_API 0x03020000 -#include diff --git a/setuptools/tests/bdist_wheel_testdata/abi3extension.dist/setup.cfg b/setuptools/tests/bdist_wheel_testdata/abi3extension.dist/setup.cfg deleted file mode 100644 index 9f6ff39a0f..0000000000 --- a/setuptools/tests/bdist_wheel_testdata/abi3extension.dist/setup.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[bdist_wheel] -py_limited_api=cp32 diff --git a/setuptools/tests/bdist_wheel_testdata/abi3extension.dist/setup.py b/setuptools/tests/bdist_wheel_testdata/abi3extension.dist/setup.py deleted file mode 100644 index 5962bd1552..0000000000 --- a/setuptools/tests/bdist_wheel_testdata/abi3extension.dist/setup.py +++ /dev/null @@ -1,12 +0,0 @@ -from __future__ import annotations - -from setuptools import Extension, setup - -setup( - name="extension.dist", - version="0.1", - description="A testing distribution \N{SNOWMAN}", - ext_modules=[ - Extension(name="extension", sources=["extension.c"], py_limited_api=True) - ], -) diff --git a/setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/mypackage/__init__.py b/setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/mypackage/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/mypackage/data/1,2,3.txt b/setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/mypackage/data/1,2,3.txt deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/mypackage/data/__init__.py b/setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/mypackage/data/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/setup.py b/setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/setup.py deleted file mode 100644 index a2783a3b62..0000000000 --- a/setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/setup.py +++ /dev/null @@ -1,12 +0,0 @@ -from __future__ import annotations - -from setuptools import setup - -setup( - name="testrepo", - version="0.1", - packages=["mypackage"], - description="A test package with commas in file names", - include_package_data=True, - package_data={"mypackage.data": ["*"]}, -) diff --git a/setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/testrepo-0.1.0/mypackage/__init__.py b/setuptools/tests/bdist_wheel_testdata/commasinfilenames.dist/testrepo-0.1.0/mypackage/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/setuptools/tests/bdist_wheel_testdata/complex-dist/complexdist/__init__.py b/setuptools/tests/bdist_wheel_testdata/complex-dist/complexdist/__init__.py deleted file mode 100644 index 88aa7b76a4..0000000000 --- a/setuptools/tests/bdist_wheel_testdata/complex-dist/complexdist/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from __future__ import annotations - - -def main(): - return diff --git a/setuptools/tests/bdist_wheel_testdata/complex-dist/setup.py b/setuptools/tests/bdist_wheel_testdata/complex-dist/setup.py deleted file mode 100644 index e0439d9ef4..0000000000 --- a/setuptools/tests/bdist_wheel_testdata/complex-dist/setup.py +++ /dev/null @@ -1,24 +0,0 @@ -from __future__ import annotations - -from setuptools import setup - -setup( - name="complex-dist", - version="0.1", - description="Another testing distribution \N{SNOWMAN}", - long_description="Another testing distribution \N{SNOWMAN}", - author="Illustrious Author", - author_email="illustrious@example.org", - url="http://example.org/exemplary", - packages=["complexdist"], - setup_requires=["wheel", "setuptools"], - install_requires=["quux", "splort"], - extras_require={"simple": ["simple.dist"]}, - tests_require=["foo", "bar>=10.0.0"], - entry_points={ - "console_scripts": [ - "complex-dist=complexdist:main", - "complex-dist2=complexdist:main", - ], - }, -) diff --git a/setuptools/tests/bdist_wheel_testdata/extension.dist/extension.abi3.so b/setuptools/tests/bdist_wheel_testdata/extension.dist/extension.abi3.so deleted file mode 100644 index cf9e0b0a491284e40d703523d7fa602a091232ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23312 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 C1PR0d diff --git a/setuptools/tests/bdist_wheel_testdata/extension.dist/extension.c b/setuptools/tests/bdist_wheel_testdata/extension.dist/extension.c deleted file mode 100644 index 26403efa82..0000000000 --- a/setuptools/tests/bdist_wheel_testdata/extension.dist/extension.c +++ /dev/null @@ -1,17 +0,0 @@ -#include - -static PyMethodDef methods[] = { - { NULL, NULL, 0, NULL } -}; - -static struct PyModuleDef module_def = { - PyModuleDef_HEAD_INIT, - "extension", - "Dummy extension module", - -1, - methods -}; - -PyMODINIT_FUNC PyInit_extension(void) { - return PyModule_Create(&module_def); -} diff --git a/setuptools/tests/bdist_wheel_testdata/extension.dist/setup.py b/setuptools/tests/bdist_wheel_testdata/extension.dist/setup.py deleted file mode 100644 index 9a6eed8cfd..0000000000 --- a/setuptools/tests/bdist_wheel_testdata/extension.dist/setup.py +++ /dev/null @@ -1,10 +0,0 @@ -from __future__ import annotations - -from setuptools import Extension, setup - -setup( - name="extension.dist", - version="0.1", - description="A testing distribution \N{SNOWMAN}", - ext_modules=[Extension(name="extension", sources=["extension.c"])], -) diff --git a/setuptools/tests/bdist_wheel_testdata/headers.dist/header.h b/setuptools/tests/bdist_wheel_testdata/headers.dist/header.h deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/setuptools/tests/bdist_wheel_testdata/headers.dist/headersdist.py b/setuptools/tests/bdist_wheel_testdata/headers.dist/headersdist.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/setuptools/tests/bdist_wheel_testdata/headers.dist/setup.cfg b/setuptools/tests/bdist_wheel_testdata/headers.dist/setup.cfg deleted file mode 100644 index 3c6e79cf31..0000000000 --- a/setuptools/tests/bdist_wheel_testdata/headers.dist/setup.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[bdist_wheel] -universal=1 diff --git a/setuptools/tests/bdist_wheel_testdata/headers.dist/setup.py b/setuptools/tests/bdist_wheel_testdata/headers.dist/setup.py deleted file mode 100644 index 6cf9b46faf..0000000000 --- a/setuptools/tests/bdist_wheel_testdata/headers.dist/setup.py +++ /dev/null @@ -1,10 +0,0 @@ -from __future__ import annotations - -from setuptools import setup - -setup( - name="headers.dist", - version="0.1", - description="A distribution with headers", - headers=["header.h"], -) diff --git a/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/libb.dylib b/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/libb.dylib deleted file mode 100644 index 25c954656b07e8abb28f87fbc296f90214207dd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9544 zcmeHNU2IfE6rOD>EVQsKKLJrm3q@-X+J#a|kfi)vyqi|6-4d(B47=Mcd&B;ey?1Nd zu%yyry4EI*(fB}Oh%u4yL=35Yf(Av3G0_+wc+jK|Xtn_Y8Xu}6>v!hPE!*9K)%bW% zdglDhnKNh3o!Q~UaK0b`uEDs8PoHM=OC zEix&?CxaW|lPowlg53sjCgl2?ppF5z9VR6i-9CUK*7rale|k^E9}9EcNci3P@r^Dq zt?OhXlBH{*aY}zQW&+Lwx)Il+M@%tqytkykB3W+Y-?YkoY0(mWx*R;-*yVl+t2;2nu*;GzDURu}M_ z9oHgDFDd6y%n@^{bQ$5r8QiK(@12&(7_7E$c}PEe#RiL1P!f6y~F%HYKBZeF%pt3J(CjP!@!C5tLCVrHrBYvj|CWz zFMC{MR}Z9^gxw;u_v(ZmuZA(9ZnOtBZroh=sCLB#NqBIu>~`KB-3UfD@5yclBOB}t z*cq@hU}wP2z`xGGK{fT0+JCDwmAscqO!p`6ITD-ROipJqj3p}7;a%_G1uOj{{-LVF zE1kb(G8d@_=s$o;=&yZFE-q4oOVF|OxlATwD!p*rrlyi(YASJFO&vU|4kgc~Pmr_B zgql(&)gk4)$$qO2CxFSxbdsuv7^<(MdJ=TvOXZG3y{e2;*Ect+Lx~CDXeTUPqouGK zR|}Of*C?yM?0Ro}P`RUKUYt-fP*c@T<+@(om%PIgS8hHt)A&AonT@Z{)wn-7!Hfl> z)z|Q1*$j-I*y0*}{SNgnGLasg%g=}7uF>&|>!-$D?^8IgQH0e0McW}WE$Z;Lb7-Xw z?Ye|Fg!H?_r>?3)+r~&d3NcMDU(z_0oJRWYA_yQ2cAB!Y(GrvdjhpQf5P!D7!`3E6U@dJR!}B$?i~NS08xTE2reKtcGs3k9G7Nbm9`_-d>aEg8diprafwW59y#OPIs_j&qbz z9|Vrx<`(AYE?sc?0JVM!qf&y$OB|#BYFD-qmpoqF!VtxOSJw2_` zzfAj8!V46+_C@r<++Rrc1Hi$1ru|;<0&?x8n(QwCPfL4x#})7h`x`L$Q^vDKn&-tM z_2hpAVm>16H~oXXRb5qv4p{1KIR;e zaxmH+_5{3!+Z_n`;@pV)G(-0U6r}~at$v@b1$Yc6=Rse@)5=?GxZbI2#`k!!Wzs8quPjh|<#7%Dr3Y51||u2FGg3 z$i(gILW5)VBHROwUcFY=dV`8kHq0osZY4rys;TkD!n)GDzr`E#a)tEGQg762F`Z)& z!CDVaocFp-M{RRg?~~ObQSCLtx@UfQ3A7?B+jw(hfI9D7PRR*$`?wERA~XX!0tZHi z)6D|6zl*K+8u^*1DrBFnVTDCE#8wdPr>(X2sKBoPE`@B}qfn%5?eDxIW!g(4=mC=b zX}Ldh67t$2#;kh?6x7nij9KT;XCS*^k3Bd6p9r~+S^GP*i|SyGnTW2KGKDGNdz7f3 zktcKHUvuPQc*?e~6!L>@#OfURXpa5Irc8T$0zS>LpD^W_dOAN)Zi{wyNmt znr^}@1JX8SDR4Ou&_Fn!c4S=6aI+!A#mPBth4^UZ4g-F zav$z`vU;f;qTC6;f>@_DvvD%2Az0QPYt`#;{ ig;-mtuzrC|_P_o3h_?S_an4?rbN_= 'a' && *lett <= 'z'){ - num += 1; - } else if (*lett >= 'A' && *lett <= 'Z'){ - num += 1; - } - lett += 1; - } - return num; -} diff --git a/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_10.dylib b/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_10.dylib deleted file mode 100644 index eaf1a94e5f8a259da16f00db62453e0c7796c717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 756 zcmX^A>+L^w1_nlE1|R{%EI_;g#83cYAdm!N3lJX%_yHBa096Cy1I=UrVUW2X5FcNX zT2TUFL---C5g`aZj5P(y0GS7J3mmX8G{D(FMtpp7er`cxa!Gt?UU_C-N_@PJ3$pwS zC`SQGXD~tBaso(0oeE?jKzw{^MtoXPVs0u#EIuC9eLJ8^9iVgv)I2Dcft!IL1I7l? zDnKj%VsLRWFz|6PfGm>$;tNpw9{_0)ARnlYApnSx0myw&HzErY#SZo8eCp9z`{TIl z7m#|7?%E$f?hB9R+7}G`ExBMJ*BAWzIGTSZ^7qIg^Q-v#`GEXx*DuWn7&~3RywpRM zb>!~>r3H^}sO~8KeohqCKn_^e1E|}h)Ahy6j{pDv0}YEk43dEXX#8S$4-^(4z*rT; zz*r%`D8R$cF#)Iw6pk`LtN}C(1fcpE7##To+L)Yq*+8100H~Y|WH3Ln>G64`x$*gF O@j0m_C8+L^w1_nlE1|R{%EI_;g#83cYAdm!N3lJX%_yHBa096Cy1I=UrVUW2X5FcNX zT2TUFL---C5g`aZj5P(y0GS7J3mmX8G{D(FMtpp7er`cxa!Gt?UU_C-N_@PJ3$pwS zC`SQGXD~tBaso(0oeE?jKzw{^MtoXPVs0u#EIuC9eLJ8^9iVgv)I2Dcft!IL1I7l? zDnKj%#9Ull3=Di+3?R!SfcOH`{s%x>1jq;KV+a6ZWB_s>)Q!l(M6p9XI-h!U*8Vu| z`URxkqr3J8ko&@;x%LGEe@iY{$n^#PK91&}iTpis$owk)em)?-+x1KH0me?(FE90w zWgYo@Kxx6F8>%~szn>FDHIM_A^#JPj=yZMYvg7~%|3JfH4})Z202;p--UEdN2ryO! zF)&sLFbeRnb4&oL0)?Xt5NiMp0|BUh1_nnyfi@;*UN(>>C;%#F0~ySZYNRe PT6|7wNl9u^F-R!@L6mUR diff --git a/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_10_386.dylib b/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_10_386.dylib deleted file mode 100644 index 8f543875d6ad19063ba0e006ada538d6bd9d606e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 668 zcma)3ze~eV5WduiG1k5g4h{+qjvXBwt@t(zA{9iCqtuiNww0QqlnO#RG^9`k2mb{B z3K10C{0m$i3c5K23D&zLucYAMN50&B_v_u`y?%fG%mBa?Q6uWa4m&HcX8#YoQS6R# zY`I^};8H}}y0F=cfLN6KMWrHpLx%hLyfJjRQa)n2Q9CV_ZEV%gkLyQ>+gmEf_LjIn z%%uS61Dk&Fsw_hwT2-txOEpXB$vy5VyhhxJXGB#1a{yK4uac8xVVVFLGdydNWG6na zN0#@X9@rr!!TZEJCBy&n_uO~qBkf7!MF!m96%4oFyYkDq^g(nh9Fo3x0LL$h{&GUL z#UK;PzpCR!6 z+n0Sc_zTSYA`5NNq9kIU)(6N(#I}(mOZ#;XDwWc$uDG;{Map^m=DhY|`vive(|L(x z#Us6za$&J?zp~)U<>te?%{x+Fy`pnux1cAW(_k)$ym0ZOu1ansQdaA-wp3|UwLgB3 zX9!<}&Z-`9l@P~;sO$APEQk>ixttJ%Ty)k+xGi;F2bS)EJ>nWPEp#7sr*!zY);Ih; z?{mIun>+T9HgxAqe=hXxz-x!XTB}jW4y~T>!iu$iCgrYL8->Undan%M9uB5c$+ERh zx7S;5SsTa3YT-~a+8GWuN25{K9(r%`w_j5RLhlWdJQh7WiLrWJ7%kH%=8tAO$kHjN zp)+U^?I{<`wald{{k~C>r6!i{B%8|(xmc6;s;*mIdVmxQBftnS0*nA7zz8q`i~u9R z2rvSSz+Xh*Lp=W*_~SpG_hFyYOjd$IPC;k%j21=4e?sN%sv7P82`50Uwo?7{tQdt- z+yME9@dMkcPf6K2=5%_-w`y+36009_7+3H@mCh@azST3muiy>Nru~FC2%_;n7+gqa!5q-H;B?jQ zggVgGNJd!)yB*)|4>}Qh5G2$A73lZ-(-$?yBdip`BTSl`s3IJRM>vmWB>MXhG!^AF&B$2Q}+-Cm= zhLZ0|jqhnDFnKNm(K4!*r#+w6j?)wGt9ubVk9Qd(4A)~#0x?@OOPQ>NmBQ6|;S6zq zFL?eSCMmHL@^*QnD65j10MW=}uADIqFNZk2Usp^l30kwI#jhzxmDr@4P!_@Kq{WN4ec&QxJf|e5gx1tr(>aF PVljsohGiM$OD_EZ=Ie1K diff --git a/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_14_386.dylib b/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_14_386.dylib deleted file mode 100644 index c85b71691ee684af0f05edb64c424873d1081ef2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 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 Wnafi-YN`a~Icl763KTzpSNIMHtKS0v diff --git a/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_9_universal2.dylib b/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_10_9_universal2.dylib deleted file mode 100755 index 26ab109c9957ee2453ddd94a14a7db02bd3e8689..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65936 zcmeI*Z)jCz9KiAC?vHM6?k+W)XmL>!wcMsHb8qx0UbsV1%Voomhh26@qixsip6fr{ zTFr$+!ATPJCW->zD4C3Ok}?PsBM=KrjKmlH*#e_L!mV)qerM;*y9;SVZ=&zR{hjB} zdCqgr`EcLA97<%YSZXPQ5^MY9P$EG=009ILKmY** z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILKmY**5I_I{1Q0*~fqz-x%INKTlK3Bz#D6nILKFV`a*XLQrQV(9$Z<%*+S+Jc ztv59J;7sm%+Xu){z8|ubSFCjtdtARGRrY$3HRI>r@~3D&@BVb{bY*s}O}FlDYHhGh zt&K@Jk-gqof4!K0k@kaU$y_IB>wD^4Yd6+x+7Mk|6TGYA&&aBEg9I(IM}ik#M-I~^ zR!Nje=((V{iIi)bo8oqPrLC4{Z`ze;Pt`ZCC~w#+qsGiPrmHfT{Gi$yUt8Zr?-7x{ zwjHS#OI;+fMIy5V&zSiCVW6M z&t+&Re4(Iwq&|H3@y!0d@R1VfABx`T9t`zH?+lk`o?RP0?B$#XS8op=DV#K0I^No` ze9ha|n-0G*HZ~^9?f9&(Psirz6e*dt=2~m+e3jH1XZ$>PZEKEyvE*QvO86yYLbf&C zVv~)wIpMmJlWu0_n)f>O=M`NqEYpMh{29`h?!*ESlYPA;v^Ut4n~vMKG$hTNz#AM_}ATy z?olu#VQp=+u2ve^#mO4*`|`1OqoMl;XtCB!>~Y82Qe8=~uLf_HWNiCML` z0fU@UxQWdWq^*9zckeUD-9*Z@^38j@ywX<7vp4OMy%y@5SCq?k2~BZh<{Q&hDc3%< zIL4I8Bz+gHBhuHlBlTjbizK#4WR~C=GoL5({Daza<)q$c_~ZwpooAk2KG61(x#aZ! zu|mco660&?U5mW7?lEDe*5@phs#M#4k^k6)i$1UHL?M5Vkf}(g+ABmrW9#0On`kLt z7nta*MH0GBnPW_W)Jy!nzPFagB=r1FN1o@Oyr5i5K>z^+5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ zf&Y%cShu-)D{Mx_W}AVburo3=)krua2Xjro)`g+L>NP!~wkJcTcA`HVYCB=1Kie57 z$TyD+$+eOLJ!|58eyFV|bAD5(?Qqt7oh#QK)%$%nHa7c~tR>HKbTHRm(^ThqK4E69 zxz(CGUnRB1fS(7iZOzRtmYnNS39m#Xbv$HS(=9gHXqywRD>>os+Hx*v}=;dvN^|pINhIj{@l*I;sa-E zlcz4P`R2y;s@GTl6o2&hvXif#I9->#INUgx_x07QujFj5%OBg{zkgrPjq`_My-yu~ z*!gYGefjCNj%)8Mn{xA8=h$octDb%4#dqIcy1Ap|moMtK&At5VkAt5S-i;TQJu$uQ a=fp<`e(Q`ad4AfJZ8Zat?HBV_Fa8rZUx$7G diff --git a/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_11.dylib b/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_11.dylib deleted file mode 100644 index 80202c11ba026146f7596191a1043216590fa9f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16464 zcmeI4y-EW?6ov2l4=PEcC|Zb!s6`@Tk@+b@&bZ| z&mfk958wk>ieTdlh=}Lz&gv2bOPe!ra(`y#?(DbI-aNj)eRhjD?IO|z^+C-xk#mW| z6B&kHA!9bP+nbtc8R_5SPNY>RwD^2V^){fRzjnPDKk5aH&OV5i8u7e}VdaarS z0@cP*%`5IF7Qdlj)g+{K;%Si{*l8Q7@56xy%`>;pt!J<}st+jW49#(a0 z`{32rUhO{gV8?A2H$q1ov*)_f(=OL1i0yCCvmL`j!oGa`M}Y1M+P~qCiN6o+>;+Tv M>Uon#Gk&ouU-!LLLjV8( diff --git a/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_multiple_fat.dylib b/setuptools/tests/bdist_wheel_testdata/macosx_minimal_system_version/test_lib_multiple_fat.dylib deleted file mode 100644 index 5f7fd5091ea98cf4db80642362748f384c61200a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8956 zcmeHM&ubGw6rPQ-U2B@n!9xX=96Wd^9>hbBjk>T03nCRnkRjBB3MMUei=`wWY>_M} zG(rzO_y_nW6c0gAD0onhJ$Nl7ptl@W360;I%&Z$MR74Mj_u%Et`!R23zun9G^5O7J zTL_VYjzdogkt6pNelk`Z%TugRF(?Zozz8q`i~u9R2rvSS03*N%FanGKBftopFa$pS z_;#oVe}Q>lq@guhLV#{-!eI}+t72+X)qT=UikRYS0z`8l%+*kUMW^e#vi@M zYlN>uXLXNZl@MozSTyU)SP&y3#wLWwPN=h{;MVkc4OqGd_J}*sq|klzos!`{THgx~ zg0GpTYwx+lyNKqT9nM9e+Y9QEa5l;mawDfLf~e?hUQD>_&Q?~r{ot(?y8Z5SB3W=Y z>Go#p183{ZNG%*ns-01{H5d$q+D`N{v!V(m zxB>Ey;|F$hpS-rqnA7PQKkK<2ORRp$aa_T!E}hl3rTduS#Cdvsv`3xD8+2VPi@_S_yF>ow~U+>RI2JD?9LD&%&YwjF#2e{d=3#{@!8(Ez>f z)npb70(}!+Q}2!`1XGQq%6i!Cg>I+YP%J_(rVyyWyyxG(tPwt8EeAef+-{+Yco^an huAmu-`A$S3n|qPEIXOm6wV-^A8pqrM#gE_@egaI<-)aB= diff --git a/setuptools/tests/bdist_wheel_testdata/simple.dist/setup.py b/setuptools/tests/bdist_wheel_testdata/simple.dist/setup.py deleted file mode 100644 index 1e7a78a224..0000000000 --- a/setuptools/tests/bdist_wheel_testdata/simple.dist/setup.py +++ /dev/null @@ -1,11 +0,0 @@ -from __future__ import annotations - -from setuptools import setup - -setup( - name="simple.dist", - version="0.1", - description="A testing distribution \N{SNOWMAN}", - packages=["simpledist"], - extras_require={"voting": ["beaglevote"]}, -) diff --git a/setuptools/tests/bdist_wheel_testdata/simple.dist/simpledist/__init__.py b/setuptools/tests/bdist_wheel_testdata/simple.dist/simpledist/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/setuptools/tests/bdist_wheel_testdata/unicode.dist/setup.py b/setuptools/tests/bdist_wheel_testdata/unicode.dist/setup.py deleted file mode 100644 index ec66d1e6af..0000000000 --- a/setuptools/tests/bdist_wheel_testdata/unicode.dist/setup.py +++ /dev/null @@ -1,11 +0,0 @@ -from __future__ import annotations - -from setuptools import setup - -setup( - name="unicode.dist", - version="0.1", - description="A testing distribution \N{SNOWMAN}", - packages=["unicodedist"], - zip_safe=True, -) diff --git a/setuptools/tests/bdist_wheel_testdata/unicode.dist/unicodedist/__init__.py b/setuptools/tests/bdist_wheel_testdata/unicode.dist/unicodedist/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git "a/setuptools/tests/bdist_wheel_testdata/unicode.dist/unicodedist/\303\245\303\244\303\266_\346\227\245\346\234\254\350\252\236.py" "b/setuptools/tests/bdist_wheel_testdata/unicode.dist/unicodedist/\303\245\303\244\303\266_\346\227\245\346\234\254\350\252\236.py" deleted file mode 100644 index e69de29bb2..0000000000 From b4f5a07734dc8c2bfc6456b3ceb0538095bbc8aa Mon Sep 17 00:00:00 2001 From: Anderson Bravalheri Date: Thu, 20 Jun 2024 12:35:26 +0100 Subject: [PATCH 5/5] Add news fragment --- newsfragments/4429.misc.rst | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 newsfragments/4429.misc.rst diff --git a/newsfragments/4429.misc.rst b/newsfragments/4429.misc.rst new file mode 100644 index 0000000000..9c4c11ef89 --- /dev/null +++ b/newsfragments/4429.misc.rst @@ -0,0 +1,2 @@ +Refactored ``test_bdist_wheel`` such that it creates examples in temporary +folders and run the ``bdist_wheel`` command programmatically without subprocesses.