Current Path: > > opt > cloudlinux > venv > lib64 > python3.11 > site-packages > setuptools > tests
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
compat | Directory | - | - | |
config | Directory | - | - | |
indexes | Directory | - | - | |
integration | Directory | - | - | |
__init__.py | File | 335 bytes | April 17 2025 13:10:58. | |
contexts.py | File | 3480 bytes | April 17 2025 13:10:58. | |
environment.py | File | 3102 bytes | April 17 2025 13:10:58. | |
fixtures.py | File | 5197 bytes | April 17 2025 13:10:58. | |
mod_with_constant.py | File | 22 bytes | April 17 2025 13:10:58. | |
namespaces.py | File | 2774 bytes | April 17 2025 13:10:58. | |
script-with-bom.py | File | 18 bytes | April 17 2025 13:10:58. | |
server.py | File | 2397 bytes | April 17 2025 13:10:58. | |
test_archive_util.py | File | 845 bytes | April 17 2025 13:10:58. | |
test_bdist_deprecations.py | File | 775 bytes | April 17 2025 13:10:58. | |
test_bdist_egg.py | File | 1957 bytes | April 17 2025 13:10:58. | |
test_bdist_wheel.py | File | 23083 bytes | April 17 2025 13:10:58. | |
test_build.py | File | 798 bytes | April 17 2025 13:10:58. | |
test_build_clib.py | File | 3123 bytes | April 17 2025 13:10:58. | |
test_build_ext.py | File | 10099 bytes | April 17 2025 13:10:58. | |
test_build_meta.py | File | 34118 bytes | April 17 2025 13:10:58. | |
test_build_py.py | File | 14186 bytes | April 17 2025 13:10:58. | |
test_config_discovery.py | File | 22580 bytes | April 17 2025 13:10:58. | |
test_core_metadata.py | File | 20881 bytes | April 17 2025 13:10:58. | |
test_depends.py | File | 424 bytes | April 17 2025 13:10:58. | |
test_develop.py | File | 5142 bytes | April 17 2025 13:10:58. | |
test_dist.py | File | 8901 bytes | April 17 2025 13:10:58. | |
test_dist_info.py | File | 7077 bytes | April 17 2025 13:10:58. | |
test_distutils_adoption.py | File | 5987 bytes | April 17 2025 13:10:58. | |
test_easy_install.py | File | 53534 bytes | April 17 2025 13:10:58. | |
test_editable_install.py | File | 43383 bytes | April 17 2025 13:10:58. | |
test_egg_info.py | File | 44866 bytes | April 17 2025 13:10:58. | |
test_extern.py | File | 296 bytes | April 17 2025 13:10:58. | |
test_find_packages.py | File | 7819 bytes | April 17 2025 13:10:58. | |
test_find_py_modules.py | File | 2404 bytes | April 17 2025 13:10:58. | |
test_glob.py | File | 887 bytes | April 17 2025 13:10:58. | |
test_install_scripts.py | File | 3433 bytes | April 17 2025 13:10:58. | |
test_logging.py | File | 2099 bytes | April 17 2025 13:10:58. | |
test_manifest.py | File | 18562 bytes | April 17 2025 13:10:58. | |
test_namespaces.py | File | 4515 bytes | April 17 2025 13:10:58. | |
test_packageindex.py | File | 8775 bytes | April 17 2025 13:10:58. | |
test_sandbox.py | File | 4330 bytes | April 17 2025 13:10:58. | |
test_sdist.py | File | 32872 bytes | April 17 2025 13:10:58. | |
test_setopt.py | File | 1365 bytes | April 17 2025 13:10:58. | |
test_setuptools.py | File | 9008 bytes | April 17 2025 13:10:58. | |
test_shutil_wrapper.py | File | 641 bytes | April 17 2025 13:10:58. | |
test_unicode_utils.py | File | 316 bytes | April 17 2025 13:10:58. | |
test_virtualenv.py | File | 3730 bytes | April 17 2025 13:10:58. | |
test_warnings.py | File | 3347 bytes | April 17 2025 13:10:58. | |
test_wheel.py | File | 19370 bytes | April 17 2025 13:10:58. | |
test_windows_wrappers.py | File | 7881 bytes | April 17 2025 13:10:58. | |
text.py | File | 123 bytes | April 17 2025 13:10:58. | |
textwrap.py | File | 98 bytes | April 17 2025 13:10:58. |
"""Test .dist-info style distributions.""" import pathlib import re import shutil import subprocess import sys from functools import partial import pytest import pkg_resources from setuptools.archive_util import unpack_archive from .textwrap import DALS read = partial(pathlib.Path.read_text, encoding="utf-8") class TestDistInfo: metadata_base = DALS( """ Metadata-Version: 1.2 Requires-Dist: splort (==4) Provides-Extra: baz Requires-Dist: quux (>=1.1); extra == 'baz' """ ) @classmethod def build_metadata(cls, **kwargs): lines = ('{key}: {value}\n'.format(**locals()) for key, value in kwargs.items()) return cls.metadata_base + ''.join(lines) @pytest.fixture def metadata(self, tmpdir): dist_info_name = 'VersionedDistribution-2.718.dist-info' versioned = tmpdir / dist_info_name versioned.mkdir() filename = versioned / 'METADATA' content = self.build_metadata( Name='VersionedDistribution', ) filename.write_text(content, encoding='utf-8') dist_info_name = 'UnversionedDistribution.dist-info' unversioned = tmpdir / dist_info_name unversioned.mkdir() filename = unversioned / 'METADATA' content = self.build_metadata( Name='UnversionedDistribution', Version='0.3', ) filename.write_text(content, encoding='utf-8') return str(tmpdir) def test_distinfo(self, metadata): dists = dict( (d.project_name, d) for d in pkg_resources.find_distributions(metadata) ) assert len(dists) == 2, dists unversioned = dists['UnversionedDistribution'] versioned = dists['VersionedDistribution'] assert versioned.version == '2.718' # from filename assert unversioned.version == '0.3' # from METADATA def test_conditional_dependencies(self, metadata): specs = 'splort==4', 'quux>=1.1' requires = list(map(pkg_resources.Requirement.parse, specs)) for d in pkg_resources.find_distributions(metadata): assert d.requires() == requires[:1] assert d.requires(extras=('baz',)) == [ requires[0], pkg_resources.Requirement.parse('quux>=1.1;extra=="baz"'), ] assert d.extras == ['baz'] def test_invalid_version(self, tmp_path): """ Supplying an invalid version crashes dist_info. """ config = "[metadata]\nname=proj\nversion=42\n[egg_info]\ntag_build=invalid!!!\n" (tmp_path / "setup.cfg").write_text(config, encoding="utf-8") msg = re.compile("invalid version", re.M | re.I) proc = run_command_inner("dist_info", cwd=tmp_path, check=False) assert proc.returncode assert msg.search(proc.stdout) assert not list(tmp_path.glob("*.dist-info")) def test_tag_arguments(self, tmp_path): config = """ [metadata] name=proj version=42 [egg_info] tag_date=1 tag_build=.post """ (tmp_path / "setup.cfg").write_text(config, encoding="utf-8") print(run_command("dist_info", "--no-date", cwd=tmp_path)) dist_info = next(tmp_path.glob("*.dist-info")) assert dist_info.name.startswith("proj-42") shutil.rmtree(dist_info) print(run_command("dist_info", "--tag-build", ".a", cwd=tmp_path)) dist_info = next(tmp_path.glob("*.dist-info")) assert dist_info.name.startswith("proj-42a") @pytest.mark.parametrize("keep_egg_info", (False, True)) def test_output_dir(self, tmp_path, keep_egg_info): config = "[metadata]\nname=proj\nversion=42\n" (tmp_path / "setup.cfg").write_text(config, encoding="utf-8") out = tmp_path / "__out" out.mkdir() opts = ["--keep-egg-info"] if keep_egg_info else [] run_command("dist_info", "--output-dir", out, *opts, cwd=tmp_path) assert len(list(out.glob("*.dist-info"))) == 1 assert len(list(tmp_path.glob("*.dist-info"))) == 0 expected_egg_info = int(keep_egg_info) assert len(list(out.glob("*.egg-info"))) == expected_egg_info assert len(list(tmp_path.glob("*.egg-info"))) == 0 assert len(list(out.glob("*.__bkp__"))) == 0 assert len(list(tmp_path.glob("*.__bkp__"))) == 0 class TestWheelCompatibility: """Make sure the .dist-info directory produced with the ``dist_info`` command is the same as the one produced by ``bdist_wheel``. """ SETUPCFG = DALS( """ [metadata] name = {name} version = {version} [options] install_requires = foo>=12; sys_platform != "linux" [options.extras_require] test = pytest [options.entry_points] console_scripts = executable-name = my_package.module:function discover = myproj = my_package.other_module:function """ ) EGG_INFO_OPTS = [ # Related: #3088 #2872 ("", ""), (".post", "[egg_info]\ntag_build = post\n"), (".post", "[egg_info]\ntag_build = .post\n"), (".post", "[egg_info]\ntag_build = post\ntag_date = 1\n"), (".dev", "[egg_info]\ntag_build = .dev\n"), (".dev", "[egg_info]\ntag_build = .dev\ntag_date = 1\n"), ("a1", "[egg_info]\ntag_build = .a1\n"), ("+local", "[egg_info]\ntag_build = +local\n"), ] @pytest.mark.parametrize("name", "my-proj my_proj my.proj My.Proj".split()) @pytest.mark.parametrize("version", ["0.42.13"]) @pytest.mark.parametrize(("suffix", "cfg"), EGG_INFO_OPTS) def test_dist_info_is_the_same_as_in_wheel( self, name, version, tmp_path, suffix, cfg ): config = self.SETUPCFG.format(name=name, version=version) + cfg for i in "dir_wheel", "dir_dist": (tmp_path / i).mkdir() (tmp_path / i / "setup.cfg").write_text(config, encoding="utf-8") run_command("bdist_wheel", cwd=tmp_path / "dir_wheel") wheel = next(tmp_path.glob("dir_wheel/dist/*.whl")) unpack_archive(wheel, tmp_path / "unpack") wheel_dist_info = next(tmp_path.glob("unpack/*.dist-info")) run_command("dist_info", cwd=tmp_path / "dir_dist") dist_info = next(tmp_path.glob("dir_dist/*.dist-info")) assert dist_info.name == wheel_dist_info.name assert dist_info.name.startswith(f"my_proj-{version}{suffix}") for file in "METADATA", "entry_points.txt": assert read(dist_info / file) == read(wheel_dist_info / file) def run_command_inner(*cmd, **kwargs): opts = { "stderr": subprocess.STDOUT, "stdout": subprocess.PIPE, "text": True, "encoding": "utf-8", "check": True, **kwargs, } cmd = [sys.executable, "-c", "__import__('setuptools').setup()", *map(str, cmd)] return subprocess.run(cmd, **opts) def run_command(*args, **kwargs): return run_command_inner(*args, **kwargs).stdout
SILENT KILLER Tool