* feat: support pypa build fix: update `cibuildwheel.linux.troubleshoot` to know about build Workaround issue with PyPy venv module by installing build[virtualenv] fix: test_dependency_constraints_file when using build fix: test/test_pep518.py fix: use `strtobool` to parse `CIBW_PYPA_BUILD` fix: update `cibuildwheel.linux.troubleshoot` to know about `python -m pip wheel` test: use `build_mode` in `test/test_dependency_versions.py` tests * refactor: use build-backend instead * Apply suggestions from code review Co-authored-by: Joe Rickerby <joerick@mac.com> * refactor: use literal types for build_frontend * refactor(tests): build_mode -> build_frontend_env * Update test/test_before_build.py Co-authored-by: Joe Rickerby <joerick@mac.com>
31 lines
917 B
Python
31 lines
917 B
Python
from typing import Dict
|
|
|
|
import pytest
|
|
|
|
|
|
def pytest_addoption(parser) -> None:
|
|
parser.addoption(
|
|
"--run-emulation", action="store_true", default=False, help="run emulation tests"
|
|
)
|
|
|
|
|
|
def pytest_configure(config):
|
|
config.addinivalue_line("markers", "emulation: mark test requiring qemu binfmt_misc to run")
|
|
|
|
|
|
def pytest_collection_modifyitems(config, items) -> None:
|
|
if config.getoption("--run-emulation"):
|
|
# --run-emulation given in cli: do not skip emulation tests
|
|
return
|
|
skip_emulation = pytest.mark.skip(reason="need --run-emulation option to run")
|
|
for item in items:
|
|
if "emulation" in item.keywords:
|
|
item.add_marker(skip_emulation)
|
|
|
|
|
|
@pytest.fixture(
|
|
params=[{"CIBW_BUILD_FRONTEND": "pip"}, {"CIBW_BUILD_FRONTEND": "build"}], ids=["pip", "build"]
|
|
)
|
|
def build_frontend_env(request) -> Dict[str, str]:
|
|
return request.param # type: ignore
|