1
1
Fork 0
mirror of https://github.com/pypa/pip synced 2023-12-13 21:30:23 +01:00
This commit is contained in:
Daniil Konovalenko 2023-01-07 21:16:32 +01:00
parent 254bdf8789
commit 8374d818ac

View file

@ -2351,3 +2351,48 @@ def test_install_8559_wheel_package_present(
allow_stderr_warning=False,
)
assert DEPRECATION_MSG_PREFIX not in result.stderr
@pytest.mark.skipif(
sys.version_info < (3, 11),
reason="3.11 required to find distributions via importlib metadata"
)
def test_install_existing_memory_distribution(script: PipTestEnvironment):
sitecustomize_text = textwrap.dedent(
"""
import sys
from importlib.metadata import Distribution, DistributionFinder
EXAMPLE_METADATA = '''Metadata-Version: 2.1
Name: example
Version: 1.0.0
'''
class ExampleDistribution(Distribution):
def locate_file(self, path):
return path
def read_text(self, filename):
if filename == 'METADATA':
return EXAMPLE_METADATA
class CustomFinder(DistributionFinder):
def find_distributions(self, context=None):
return [ExampleDistribution()]
sys.meta_path.append(CustomFinder())
"""
)
with open(script.site_packages_path / 'sitecustomize.py', 'w') as sitecustomize_file:
sitecustomize_file.write(sitecustomize_text)
result = script.pip(
"install",
"example"
)
assert "Requirement already satisfied: example in <memory>" in result.stdout