summaryrefslogtreecommitdiff
path: root/pkg_resources
diff options
context:
space:
mode:
authorŁukasz Daniluk <lukasz.dan@gmail.com>2022-03-06 23:11:06 +0100
committerŁukasz Daniluk <lukasz.dan@gmail.com>2022-03-24 12:01:25 +0100
commit64351e5f008276a6ca5a1efd65771ebc6325c067 (patch)
tree70b381d6e901815974506f6e0601cd65c4948e6a /pkg_resources
parent6f9e2fe945094ccf6d787bcc1464a4b17e700a44 (diff)
downloadpython-setuptools-git-64351e5f008276a6ca5a1efd65771ebc6325c067.tar.gz
Add tests for normalized package name resolution
Due to PEP 503 package requirements might be specified using normalized name which won't be resolved by WorkingSet. Signed-off-by: Łukasz Daniluk <lukasz.dan@gmail.com>
Diffstat (limited to 'pkg_resources')
-rw-r--r--pkg_resources/tests/test_working_set.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/pkg_resources/tests/test_working_set.py b/pkg_resources/tests/test_working_set.py
index db13c714..575656ee 100644
--- a/pkg_resources/tests/test_working_set.py
+++ b/pkg_resources/tests/test_working_set.py
@@ -42,7 +42,7 @@ def parse_distributions(s):
continue
fields = spec.split('\n', 1)
assert 1 <= len(fields) <= 2
- name, version = fields.pop(0).split('-')
+ name, version = fields.pop(0).rsplit('-', 1)
if fields:
requires = textwrap.dedent(fields.pop(0))
metadata = Metadata(('requires.txt', requires))
@@ -465,6 +465,25 @@ def parametrize_test_working_set_resolve(*test_list):
# resolved [replace conflicting]
VersionConflict
''',
+
+ '''
+ # id
+ wanted_normalized_name_installed_canonical
+
+ # installed
+ foo.bar-3.6
+
+ # installable
+
+ # wanted
+ foo-bar==3.6
+
+ # resolved
+ foo.bar-3.6
+
+ # resolved [replace conflicting]
+ foo.bar-3.6
+ ''',
)
def test_working_set_resolve(installed_dists, installable_dists, requirements,
replace_conflicting, resolved_dists_or_exception):