aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/pytest/py3/_pytest/config/findpaths.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/config/findpaths.py
parenteefca8305c6a545cc6b16dca3eb0d91dcef2adcd (diff)
downloadydb-6ff49ec58061f642c3a2f83c61eba12820787dfc.tar.gz
Intermediate changes
commit_hash:8b3bb826b17db8329ed1221f545c0645f12c552d
Diffstat (limited to 'contrib/python/pytest/py3/_pytest/config/findpaths.py')
-rw-r--r--contrib/python/pytest/py3/_pytest/config/findpaths.py30
1 files changed, 18 insertions, 12 deletions
diff --git a/contrib/python/pytest/py3/_pytest/config/findpaths.py b/contrib/python/pytest/py3/_pytest/config/findpaths.py
index 02674ffae3b..0151014c4f4 100644
--- a/contrib/python/pytest/py3/_pytest/config/findpaths.py
+++ b/contrib/python/pytest/py3/_pytest/config/findpaths.py
@@ -1,13 +1,12 @@
import os
-import sys
from pathlib import Path
+import sys
from typing import Dict
from typing import Iterable
from typing import List
from typing import Optional
from typing import Sequence
from typing import Tuple
-from typing import TYPE_CHECKING
from typing import Union
import iniconfig
@@ -18,9 +17,6 @@ from _pytest.pathlib import absolutepath
from _pytest.pathlib import commonpath
from _pytest.pathlib import safe_exists
-if TYPE_CHECKING:
- from . import Config
-
def _parse_ini_config(path: Path) -> iniconfig.IniConfig:
"""Parse the given generic '.ini' file using legacy IniConfig parser, returning
@@ -41,7 +37,6 @@ def load_config_dict_from_file(
Return None if the file does not contain valid pytest configuration.
"""
-
# Configuration from ini files are obtained from the [pytest] section, if present.
if filepath.suffix == ".ini":
iniconfig = _parse_ini_config(filepath)
@@ -169,8 +164,21 @@ def determine_setup(
inifile: Optional[str],
args: Sequence[str],
rootdir_cmd_arg: Optional[str] = None,
- config: Optional["Config"] = None,
+ invocation_dir: Optional[Path] = None,
) -> Tuple[Path, Optional[Path], Dict[str, Union[str, List[str]]]]:
+ """Determine the rootdir, inifile and ini configuration values from the
+ command line arguments.
+
+ :param inifile:
+ The `--inifile` command line argument, if given.
+ :param args:
+ The free command line arguments.
+ :param rootdir_cmd_arg:
+ The `--rootdir` command line argument, if given.
+ :param invocation_dir:
+ The working directory when pytest was invoked, if known.
+ If not known, the current working directory is used.
+ """
rootdir = None
dirs = get_dirs_from_args(args)
if inifile:
@@ -191,8 +199,8 @@ def determine_setup(
if dirs != [ancestor]:
rootdir, inipath, inicfg = locate_config(dirs)
if rootdir is None:
- if config is not None:
- cwd = config.invocation_params.dir
+ if invocation_dir is not None:
+ cwd = invocation_dir
else:
cwd = Path.cwd()
rootdir = get_common_ancestor([cwd, ancestor])
@@ -202,9 +210,7 @@ def determine_setup(
rootdir = absolutepath(os.path.expandvars(rootdir_cmd_arg))
if not rootdir.is_dir():
raise UsageError(
- "Directory '{}' not found. Check your '--rootdir' option.".format(
- rootdir
- )
+ f"Directory '{rootdir}' not found. Check your '--rootdir' option."
)
assert rootdir is not None
return rootdir, inipath, inicfg or {}