"""Общие настройки pytest для synthgen. Маркеры: - `parser` — приёмка парсером tabular-parser из зеркального worktree (переменная `TP_WT`); без окружения такие тесты пропускаются. - `slow` — долгие прогоны; по умолчанию пропускаются, запуск: `-m slow`. """ import os from pathlib import Path import pytest def pytest_configure(config): config.addinivalue_line("markers", "parser: приёмка парсером из зеркального worktree (TP_WT), без окружения — skip") config.addinivalue_line("markers", "slow: долгий прогон, по умолчанию пропускается, запуск -m slow") def pytest_collection_modifyitems(config, items): markexpr = config.getoption("-m") or "" tp_wt = os.environ.get("TP_WT") parser_ready = bool(tp_wt) and Path(tp_wt).is_dir() for item in items: if "slow" in item.keywords and "slow" not in markexpr: item.add_marker(pytest.mark.skip(reason="долгий прогон: запуск с -m slow")) if "parser" in item.keywords and not parser_ready: item.add_marker(pytest.mark.skip(reason="нужен TP_WT (зеркало tabular-parser)"))