388d1760b5
* ci: start testing on 3.13-dev * ffi fixes for 3.13 beta 1 * support 3.13 * move gevent to be binary-only * adjust for div_ceil * fixup pytests
34 lines
1.1 KiB
Python
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)
|