1
1
Fork 0
mirror of https://github.com/pypa/pip synced 2023-12-13 21:30:23 +01:00

Add test for multiple .dist-info in wheel

This commit is contained in:
Chris Hunt 2019-12-20 22:38:12 -05:00
parent de217b54af
commit 0d865d8fe3
2 changed files with 25 additions and 2 deletions

View file

@ -4,6 +4,7 @@ import os
import pytest
from tests.lib import create_basic_wheel_for_package
from tests.lib.path import Path
@ -432,3 +433,21 @@ def test_wheel_install_with_no_cache_dir(script, tmpdir, data):
package = data.packages.joinpath("simple.dist-0.1-py2.py3-none-any.whl")
result = script.pip('install', '--no-cache-dir', '--no-index', package)
result.assert_installed('simpledist', editable=False)
def test_wheel_install_fails_with_extra_dist_info(script):
package = create_basic_wheel_for_package(
script,
"simple",
"0.1.0",
extra_files={
"unrelated-2.0.0.dist-info/WHEEL": "Wheel-Version: 1.0",
"unrelated-2.0.0.dist-info/METADATA": (
"Name: unrelated\nVersion: 2.0.0\n"
),
},
)
result = script.pip(
"install", "--no-cache-dir", "--no-index", package, expect_error=True
)
assert "Multiple .dist-info directories" in result.stderr

View file

@ -921,8 +921,9 @@ def create_test_package_with_setup(script, **setup_kwargs):
return pkg_path
def create_basic_wheel_for_package(script, name, version,
depends=None, extras=None):
def create_basic_wheel_for_package(
script, name, version, depends=None, extras=None, extra_files=None
):
if depends is None:
depends = []
if extras is None:
@ -966,6 +967,9 @@ def create_basic_wheel_for_package(script, name, version,
"{dist_info}/RECORD": ""
}
if extra_files:
files.update(extra_files)
# Some useful shorthands
archive_name = "{name}-{version}-py2.py3-none-any.whl".format(
name=name, version=version