mirror of https://github.com/python/cpython
gh-120801: Refactor importlib.metadata fixtures. (#120803)
These changes released with importlib_metadata 7.2.0.
This commit is contained in:
parent
c1553bc34a
commit
85d90b59e2
|
@ -1,10 +1,8 @@
|
|||
import os
|
||||
import sys
|
||||
import copy
|
||||
import json
|
||||
import shutil
|
||||
import pathlib
|
||||
import tempfile
|
||||
import textwrap
|
||||
import functools
|
||||
import contextlib
|
||||
|
@ -27,29 +25,12 @@ except (ImportError, AttributeError):
|
|||
|
||||
|
||||
@contextlib.contextmanager
|
||||
def tempdir():
|
||||
tmpdir = tempfile.mkdtemp()
|
||||
try:
|
||||
yield pathlib.Path(tmpdir)
|
||||
finally:
|
||||
shutil.rmtree(tmpdir)
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
def save_cwd():
|
||||
orig = os.getcwd()
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
os.chdir(orig)
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
def tempdir_as_cwd():
|
||||
with tempdir() as tmp:
|
||||
with save_cwd():
|
||||
os.chdir(str(tmp))
|
||||
yield tmp
|
||||
def tmp_path():
|
||||
"""
|
||||
Like os_helper.temp_dir, but yields a pathlib.Path.
|
||||
"""
|
||||
with os_helper.temp_dir() as path:
|
||||
yield pathlib.Path(path)
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
|
@ -70,7 +51,7 @@ class Fixtures:
|
|||
class SiteDir(Fixtures):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.site_dir = self.fixtures.enter_context(tempdir())
|
||||
self.site_dir = self.fixtures.enter_context(tmp_path())
|
||||
|
||||
|
||||
class OnSysPath(Fixtures):
|
||||
|
|
|
@ -109,7 +109,7 @@ class APITests(
|
|||
Entry points should only be exposed for the first package
|
||||
on sys.path with a given name (even when normalized).
|
||||
"""
|
||||
alt_site_dir = self.fixtures.enter_context(fixtures.tempdir())
|
||||
alt_site_dir = self.fixtures.enter_context(fixtures.tmp_path())
|
||||
self.fixtures.enter_context(self.add_sys_path(alt_site_dir))
|
||||
alt_pkg = {
|
||||
"DistInfo_pkg-1.1.0.dist-info": {
|
||||
|
|
|
@ -138,7 +138,7 @@ class NameNormalizationTests(fixtures.OnSysPath, fixtures.SiteDir, unittest.Test
|
|||
fixtures.build_files(self.make_pkg('abc'), self.site_dir)
|
||||
before = list(_unique(distributions()))
|
||||
|
||||
alt_site_dir = self.fixtures.enter_context(fixtures.tempdir())
|
||||
alt_site_dir = self.fixtures.enter_context(fixtures.tmp_path())
|
||||
self.fixtures.enter_context(self.add_sys_path(alt_site_dir))
|
||||
fixtures.build_files(self.make_pkg('ABC'), alt_site_dir)
|
||||
after = list(_unique(distributions()))
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Cleaned up fixtures for importlib.metadata tests and consolidated behavior
|
||||
with 'test.support.os_helper'.
|
Loading…
Reference in New Issue