diff options
| author | robot-piglet <[email protected]> | 2025-05-05 12:31:52 +0300 | 
|---|---|---|
| committer | robot-piglet <[email protected]> | 2025-05-05 12:41:33 +0300 | 
| commit | 6ff49ec58061f642c3a2f83c61eba12820787dfc (patch) | |
| tree | c733ec9bdb15ed280080d31dea8725bfec717acd /contrib/python/pytest/py3/_pytest/_py | |
| parent | eefca8305c6a545cc6b16dca3eb0d91dcef2adcd (diff) | |
Intermediate changes
commit_hash:8b3bb826b17db8329ed1221f545c0645f12c552d
Diffstat (limited to 'contrib/python/pytest/py3/_pytest/_py')
| -rw-r--r-- | contrib/python/pytest/py3/_pytest/_py/error.py | 2 | ||||
| -rw-r--r-- | contrib/python/pytest/py3/_pytest/_py/path.py | 51 | 
2 files changed, 36 insertions, 17 deletions
diff --git a/contrib/python/pytest/py3/_pytest/_py/error.py b/contrib/python/pytest/py3/_pytest/_py/error.py index 0b8f2d535ef..68f1eed7ec0 100644 --- a/contrib/python/pytest/py3/_pytest/_py/error.py +++ b/contrib/python/pytest/py3/_pytest/_py/error.py @@ -1,4 +1,5 @@  """create errno-specific classes for IO or os calls.""" +  from __future__ import annotations  import errno @@ -8,6 +9,7 @@ from typing import Callable  from typing import TYPE_CHECKING  from typing import TypeVar +  if TYPE_CHECKING:      from typing_extensions import ParamSpec diff --git a/contrib/python/pytest/py3/_pytest/_py/path.py b/contrib/python/pytest/py3/_pytest/_py/path.py index 73a070d19a8..232be617ae5 100644 --- a/contrib/python/pytest/py3/_pytest/_py/path.py +++ b/contrib/python/pytest/py3/_pytest/_py/path.py @@ -1,16 +1,13 @@  """local path implementation.""" +  from __future__ import annotations  import atexit +from contextlib import contextmanager  import fnmatch  import importlib.util  import io  import os -import posixpath -import sys -import uuid -import warnings -from contextlib import contextmanager  from os.path import abspath  from os.path import dirname  from os.path import exists @@ -19,19 +16,22 @@ from os.path import isdir  from os.path import isfile  from os.path import islink  from os.path import normpath +import posixpath  from stat import S_ISDIR  from stat import S_ISLNK  from stat import S_ISREG +import sys  from typing import Any  from typing import Callable  from typing import cast +from typing import Literal  from typing import overload  from typing import TYPE_CHECKING +import uuid +import warnings  from . import error -if TYPE_CHECKING: -    from typing import Literal  # Moved from local.py.  iswin32 = sys.platform == "win32" or (getattr(os, "_name", False) == "nt") @@ -677,7 +677,7 @@ class LocalPath:          else:              kw.setdefault("dirname", dirname)          kw.setdefault("sep", self.sep) -        obj.strpath = normpath("%(dirname)s%(sep)s%(basename)s" % kw) +        obj.strpath = normpath("{dirname}{sep}{basename}".format(**kw))          return obj      def _getbyspec(self, spec: str) -> list[str]: @@ -757,7 +757,16 @@ class LocalPath:          if ensure:              self.dirpath().ensure(dir=1)          if encoding: -            return error.checked_call(io.open, self.strpath, mode, encoding=encoding) +            # Using type ignore here because of this error: +            # error: Argument 1 has incompatible type overloaded function; +            #   expected "Callable[[str, Any, Any], TextIOWrapper]"  [arg-type] +            # Which seems incorrect, given io.open supports the given argument types. +            return error.checked_call( +                io.open, +                self.strpath, +                mode, +                encoding=encoding,  # type:ignore[arg-type] +            )          return error.checked_call(open, self.strpath, mode)      def _fastjoin(self, name): @@ -775,11 +784,11 @@ class LocalPath:          valid checkers:: -            file=1    # is a file -            file=0    # is not a file (may not even exist) -            dir=1     # is a dir -            link=1    # is a link -            exists=1  # exists +            file = 1  # is a file +            file = 0  # is not a file (may not even exist) +            dir = 1  # is a dir +            link = 1  # is a link +            exists = 1  # exists          You can specify multiple checker definitions, for example:: @@ -1163,7 +1172,8 @@ class LocalPath:          where the 'self' path points to executable.          The process is directly invoked and not through a system shell.          """ -        from subprocess import Popen, PIPE +        from subprocess import PIPE +        from subprocess import Popen          popen_opts.pop("stdout", None)          popen_opts.pop("stderr", None) @@ -1263,13 +1273,20 @@ class LocalPath:      @classmethod      def mkdtemp(cls, rootdir=None):          """Return a Path object pointing to a fresh new temporary directory -        (which we created ourself). +        (which we created ourselves).          """          import tempfile          if rootdir is None:              rootdir = cls.get_temproot() -        return cls(error.checked_call(tempfile.mkdtemp, dir=str(rootdir))) +        # Using type ignore here because of this error: +        # error: Argument 1 has incompatible type overloaded function; expected "Callable[[str], str]"  [arg-type] +        # Which seems incorrect, given tempfile.mkdtemp supports the given argument types. +        path = error.checked_call( +            tempfile.mkdtemp, +            dir=str(rootdir),  # type:ignore[arg-type] +        ) +        return cls(path)      @classmethod      def make_numbered_dir(  | 
