Reapply "gh-132947: Apply changes from importlib_metadata 8.7 (#137885)" (#137924) (#137930)

* Reapply "gh-132947: Apply changes from importlib_metadata 8.7 (#137885)" (#137924)

This reverts commit 3706ef66ef.

* Skip the triggering test on buildbots only.
This commit is contained in:
Jason R. Coombs 2025-09-01 11:27:01 -04:00 committed by GitHub
parent 2a54acf3c3
commit 9b38c6698a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 311 additions and 122 deletions

View file

@ -1,8 +1,7 @@
import re
import pickle
import unittest
import importlib
import importlib.metadata
import pickle
import re
import unittest
from test.support import os_helper
try:
@ -10,8 +9,6 @@
except ImportError:
from .stubs import fake_filesystem_unittest as ffs
from . import fixtures
from ._path import Symlink
from importlib.metadata import (
Distribution,
EntryPoint,
@ -24,6 +21,10 @@
version,
)
from . import fixtures
from . import _issue138313
from ._path import Symlink
class BasicTests(fixtures.DistInfoPkg, unittest.TestCase):
version_pattern = r'\d+\.\d+(\.\d)?'
@ -157,6 +158,16 @@ def test_valid_dists_preferred(self):
dist = Distribution.from_name('foo')
assert dist.version == "1.0"
def test_missing_metadata(self):
"""
Dists with a missing metadata file should return None.
Ref python/importlib_metadata#493.
"""
fixtures.build_files(self.make_pkg('foo-4.3', files={}), self.site_dir)
assert Distribution.from_name('foo').metadata is None
assert metadata('foo') is None
class NonASCIITests(fixtures.OnSysPath, fixtures.SiteDir, unittest.TestCase):
@staticmethod
@ -347,6 +358,7 @@ def test_packages_distributions_example(self):
self._fixture_on_path('example-21.12-py3-none-any.whl')
assert packages_distributions()['example'] == ['example']
@_issue138313.skip_on_buildbot
def test_packages_distributions_example2(self):
"""
Test packages_distributions on a wheel built