aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/pytest/py3/_pytest/_py/path.py
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2025-05-05 12:31:52 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2025-05-05 12:41:33 +0300
commit6ff49ec58061f642c3a2f83c61eba12820787dfc (patch)
treec733ec9bdb15ed280080d31dea8725bfec717acd /contrib/python/pytest/py3/_pytest/_py/path.py
parenteefca8305c6a545cc6b16dca3eb0d91dcef2adcd (diff)
downloadydb-6ff49ec58061f642c3a2f83c61eba12820787dfc.tar.gz
Intermediate changes
commit_hash:8b3bb826b17db8329ed1221f545c0645f12c552d
Diffstat (limited to 'contrib/python/pytest/py3/_pytest/_py/path.py')
-rw-r--r--contrib/python/pytest/py3/_pytest/_py/path.py51
1 files changed, 34 insertions, 17 deletions
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(