Fix package name not being canonicalize in commands/show

Add test to check if a capitalized name is being shown properly
Add new stub package to support the test
This commit is contained in:
ofrinevo 2019-08-31 21:44:41 +03:00
parent a9d23fadbb
commit c674fabe95
4 changed files with 27 additions and 2 deletions

View File

@ -138,9 +138,10 @@ def print_results(distributions, list_files=False, verbose=False):
write_output("---")
name = dist.get('name', '')
canonical_name = canonicalize_name(dist.get('name', ''))
required_by = [
pkg.project_name for pkg in pkg_resources.working_set
if name in [required.name for required in pkg.requires()]
if canonical_name in [required.name for required in pkg.requires()]
]
write_output("Name: %s", name)

View File

@ -0,0 +1,6 @@
from setuptools import find_packages, setup
setup(name='Requires_Capitalized',
version='0.1',
install_requires=['simple==1.0']
)

View File

@ -205,7 +205,7 @@ def test_package_name_is_canonicalized(script, data):
assert underscore_upper_show_result.stdout == dash_show_result.stdout
def test_show_required_by_packages(script, data):
def test_show_required_by_packages_simple(script, data):
"""
Test that installed packages that depend on this package are shown
"""
@ -219,3 +219,20 @@ def test_show_required_by_packages(script, data):
assert 'Name: simple' in lines
assert 'Required-by: requires-simple' in lines
def test_show_required_by_packages_capitalized(script, data):
"""
Test that installed packages that depend on this package are shown where the package has a capital letter
"""
editable_path = os.path.join(data.src, 'requires_capitalized')
script.pip(
'install', '--no-index', '-f', data.find_links, editable_path
)
result = script.pip('show', 'simple')
lines = result.stdout.splitlines()
print(lines)
assert 'Name: simple' in lines
assert 'Required-by: Requires-Capitalized' in lines