From 17499d82702432955d8e442a1871ff276ca64bc5 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Tue, 10 Sep 2019 14:53:31 +0100 Subject: bpo-38086: Sync importlib.metadata with importlib_metadata 0.21. (GH-15840) https://gitlab.com/python-devs/importlib_metadata/-/tags/0.21 --- Lib/test/test_importlib/test_metadata_api.py | 30 ++++++++++++++++++---------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'Lib/test/test_importlib/test_metadata_api.py') 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' -- cgit v1.2.3