Coverage for /opt/homebrew/lib/python3.11/site-packages/_pytest/python_path.py: 75%
16 statements
« prev ^ index » next coverage.py v7.2.3, created at 2023-05-04 13:14 +0700
« prev ^ index » next coverage.py v7.2.3, created at 2023-05-04 13:14 +0700
1import sys
3import pytest
4from pytest import Config
5from pytest import Parser
8def pytest_addoption(parser: Parser) -> None:
9 parser.addini("pythonpath", type="paths", help="Add paths to sys.path", default=[])
12@pytest.hookimpl(tryfirst=True)
13def pytest_load_initial_conftests(early_config: Config) -> None:
14 # `pythonpath = a b` will set `sys.path` to `[a, b, x, y, z, ...]`
15 for path in reversed(early_config.getini("pythonpath")):
16 sys.path.insert(0, str(path))
19@pytest.hookimpl(trylast=True)
20def pytest_unconfigure(config: Config) -> None:
21 for path in config.getini("pythonpath"):
22 path_str = str(path)
23 if path_str in sys.path:
24 sys.path.remove(path_str)