diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2019-09-10 14:53:31 +0100 |
---|---|---|
committer | Brett Cannon <54418+brettcannon@users.noreply.github.com> | 2019-09-10 14:53:31 +0100 |
commit | 17499d82702432955d8e442a1871ff276ca64bc5 (patch) | |
tree | 377a62315e01cf4b38e06b713645f30910a284c7 /Lib/test/test_importlib/test_metadata_api.py | |
parent | 97d7906e30eeee1261b20a45a22242a8accb1cfb (diff) | |
download | cpython-17499d82702432955d8e442a1871ff276ca64bc5.tar.gz cpython-17499d82702432955d8e442a1871ff276ca64bc5.zip |
bpo-38086: Sync importlib.metadata with importlib_metadata 0.21. (GH-15840)
https://gitlab.com/python-devs/importlib_metadata/-/tags/0.21
Diffstat (limited to 'Lib/test/test_importlib/test_metadata_api.py')
-rw-r--r-- | Lib/test/test_importlib/test_metadata_api.py | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/Lib/test/test_importlib/test_metadata_api.py b/Lib/test/test_importlib/test_metadata_api.py index af3bab3558e..1d7b29ae05f 100644 --- a/Lib/test/test_importlib/test_metadata_api.py +++ b/Lib/test/test_importlib/test_metadata_api.py @@ -1,7 +1,6 @@ import re import textwrap import unittest -import itertools from collections.abc import Iterator @@ -61,9 +60,7 @@ class APITests( assert 'Topic :: Software Development :: Libraries' in classifiers @staticmethod - def _test_files(files_iter): - assert isinstance(files_iter, Iterator), files_iter - files = list(files_iter) + def _test_files(files): root = files[0].root for file in files: assert file.root == root @@ -99,16 +96,18 @@ class APITests( requirements = requires('egginfo-file') self.assertIsNone(requirements) - def test_requires(self): + def test_requires_egg_info(self): deps = requires('egginfo-pkg') + assert len(deps) == 2 assert any( dep == 'wheel >= 1.0; python_version >= "2.7"' for dep in deps ) def test_requires_dist_info(self): - deps = list(requires('distinfo-pkg')) - assert deps and all(deps) + deps = requires('distinfo-pkg') + assert len(deps) == 2 + assert all(deps) assert 'wheel >= 1.0' in deps assert "pytest; extra == 'test'" in deps @@ -143,11 +142,20 @@ class APITests( class OffSysPathTests(fixtures.DistInfoPkgOffPath, unittest.TestCase): def test_find_distributions_specified_path(self): - dists = itertools.chain.from_iterable( - resolver(path=[str(self.site_dir)]) - for resolver in Distribution._discover_resolvers() - ) + dists = Distribution.discover(path=[str(self.site_dir)]) assert any( dist.metadata['Name'] == 'distinfo-pkg' for dist in dists ) + + def test_distribution_at_pathlib(self): + """Demonstrate how to load metadata direct from a directory. + """ + dist_info_path = self.site_dir / 'distinfo_pkg-1.0.0.dist-info' + dist = Distribution.at(dist_info_path) + assert dist.version == '1.0.0' + + def test_distribution_at_str(self): + dist_info_path = self.site_dir / 'distinfo_pkg-1.0.0.dist-info' + dist = Distribution.at(str(dist_info_path)) + assert dist.version == '1.0.0' |