1
0
mirror of https://github.com/fedora-python/tox-current-env.git synced 2024-12-24 09:06:15 +01:00
github.com_fedora-python_to.../tests/conftest.py

57 lines
1.7 KiB
Python

import os
import shutil
import pytest
from utils import FIXTURES_DIR, TOX_VERSION, TOX4, modify_config, drop_unsupported_pythons
@pytest.fixture(autouse=True)
def projdir(tmp_path, monkeypatch, worker_id):
pwd = tmp_path / "projdir"
pwd.mkdir()
for fname in "tox.ini", "setup.py", "pyproject.toml":
shutil.copy(FIXTURES_DIR / fname, pwd)
if TOX4:
with modify_config(pwd / "tox.ini") as config:
config["tox"]["envlist"] = drop_unsupported_pythons(config["tox"]["envlist"])
monkeypatch.chdir(pwd)
# https://github.com/pypa/pip/issues/5345#issuecomment-386424455
monkeypatch.setenv("XDG_CACHE_HOME",
os.path.expanduser(f"~/.cache/pytest-xdist-{worker_id}"))
return pwd
if TOX4:
available_options = ("--print-deps-to-file=-", "--print-deps-to=-")
else:
available_options = (
"--print-deps-only",
"--print-deps-to-file=-",
"--print-deps-to=-",
)
@pytest.fixture(params=available_options)
def print_deps_stdout_arg(request):
"""Argument for printing deps to stdout"""
return request.param
@pytest.fixture(params=("--print-extras-to-file=-", "--print-extras-to=-"))
def print_extras_stdout_arg(request):
"""Argument for printing extras to stdout"""
return request.param
@pytest.fixture
def dependency_groups_support():
"""Support for dependency groups"""
if (TOX_VERSION.major, TOX_VERSION.minor) < (4, 22):
raise pytest.skip(reason="requires tox 4.22 or higher")
@pytest.fixture(params=("--print-dependency-groups-to-file=-", "--print-dependency-groups-to=-"))
def print_dependency_groups_stdout_arg(request, dependency_groups_support):
"""Argument for printing dependency groups to stdout"""
return request.param