Merge pull request #2664 from pre-commit/special-rmtree-no-longer-needed

special rmtree is not needed for TemporaryDirectory in 3.8+
This commit is contained in:
Anthony Sottile 2023-01-01 17:51:05 -05:00 committed by GitHub
commit 0cec5bd6f0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 4 additions and 24 deletions

View file

@ -2,6 +2,7 @@ from __future__ import annotations
import os.path import os.path
import re import re
import tempfile
from typing import Any from typing import Any
from typing import NamedTuple from typing import NamedTuple
from typing import Sequence from typing import Sequence
@ -19,7 +20,6 @@ from pre_commit.store import Store
from pre_commit.util import CalledProcessError from pre_commit.util import CalledProcessError
from pre_commit.util import cmd_output from pre_commit.util import cmd_output
from pre_commit.util import cmd_output_b from pre_commit.util import cmd_output_b
from pre_commit.util import tmpdir
from pre_commit.util import yaml_dump from pre_commit.util import yaml_dump
from pre_commit.util import yaml_load from pre_commit.util import yaml_load
@ -47,7 +47,7 @@ class RevInfo(NamedTuple):
'FETCH_HEAD', '--tags', '--exact', 'FETCH_HEAD', '--tags', '--exact',
) )
with tmpdir() as tmp: with tempfile.TemporaryDirectory() as tmp:
git.init_repo(tmp, self.repo) git.init_repo(tmp, self.repo)
cmd_output_b( cmd_output_b(
*git_cmd, 'fetch', 'origin', 'HEAD', '--tags', *git_cmd, 'fetch', 'origin', 'HEAD', '--tags',

View file

@ -3,6 +3,7 @@ from __future__ import annotations
import argparse import argparse
import logging import logging
import os.path import os.path
import tempfile
import pre_commit.constants as C import pre_commit.constants as C
from pre_commit import git from pre_commit import git
@ -11,7 +12,6 @@ from pre_commit.clientlib import load_manifest
from pre_commit.commands.run import run from pre_commit.commands.run import run
from pre_commit.store import Store from pre_commit.store import Store
from pre_commit.util import cmd_output_b from pre_commit.util import cmd_output_b
from pre_commit.util import tmpdir
from pre_commit.util import yaml_dump from pre_commit.util import yaml_dump
from pre_commit.xargs import xargs from pre_commit.xargs import xargs
@ -49,7 +49,7 @@ def _repo_ref(tmpdir: str, repo: str, ref: str | None) -> tuple[str, str]:
def try_repo(args: argparse.Namespace) -> int: def try_repo(args: argparse.Namespace) -> int:
with tmpdir() as tempdir: with tempfile.TemporaryDirectory() as tempdir:
repo, ref = _repo_ref(tempdir, args.repo, args.ref) repo, ref = _repo_ref(tempdir, args.repo, args.ref)
store = Store(tempdir) store = Store(tempdir)

View file

@ -9,7 +9,6 @@ import shutil
import stat import stat
import subprocess import subprocess
import sys import sys
import tempfile
from types import TracebackType from types import TracebackType
from typing import Any from typing import Any
from typing import Callable from typing import Callable
@ -52,18 +51,6 @@ def clean_path_on_failure(path: str) -> Generator[None, None, None]:
raise raise
@contextlib.contextmanager
def tmpdir() -> Generator[str, None, None]:
"""Contextmanager to create a temporary directory. It will be cleaned up
afterwards.
"""
tempdir = tempfile.mkdtemp()
try:
yield tempdir
finally:
rmtree(tempdir)
def resource_bytesio(filename: str) -> IO[bytes]: def resource_bytesio(filename: str) -> IO[bytes]:
return importlib.resources.open_binary('pre_commit.resources', filename) return importlib.resources.open_binary('pre_commit.resources', filename)

View file

@ -14,7 +14,6 @@ from pre_commit.util import cmd_output_p
from pre_commit.util import make_executable from pre_commit.util import make_executable
from pre_commit.util import parse_version from pre_commit.util import parse_version
from pre_commit.util import rmtree from pre_commit.util import rmtree
from pre_commit.util import tmpdir
def test_CalledProcessError_str(): def test_CalledProcessError_str():
@ -74,12 +73,6 @@ def test_clean_path_on_failure_cleans_for_system_exit(in_tmpdir):
assert not os.path.exists('foo') assert not os.path.exists('foo')
def test_tmpdir():
with tmpdir() as tempdir:
assert os.path.exists(tempdir)
assert not os.path.exists(tempdir)
def test_cmd_output_exe_not_found(): def test_cmd_output_exe_not_found():
ret, out, _ = cmd_output('dne', check=False) ret, out, _ = cmd_output('dne', check=False)
assert ret == 1 assert ret == 1