pyo3/pytests/noxfile.py

34 lines
1.1 KiB
Python

import nox
import sys
from nox.command import CommandFailed
nox.options.sessions = ["test"]
@nox.session
def test(session: nox.Session):
session.env["MATURIN_PEP517_ARGS"] = "--profile=dev"
session.run_always("python", "-m", "pip", "install", "-v", ".[dev]")
def try_install_binary(package: str, constraint: str):
try:
session.install(f"--only-binary={package}", f"{package}{constraint}")
except CommandFailed:
# No binary wheel available on this platform
pass
try_install_binary("numpy", ">=1.16")
try_install_binary("gevent", ">=22.10.2")
ignored_paths = []
if sys.version_info < (3, 10):
# Match syntax is only available in Python >= 3.10
ignored_paths.append("tests/test_enums_match.py")
ignore_args = [f"--ignore={path}" for path in ignored_paths]
session.run("pytest", *ignore_args, *session.posargs)
@nox.session
def bench(session: nox.Session):
session.install(".[dev]")
session.run("pytest", "--benchmark-enable", "--benchmark-only", *session.posargs)