[tox] envlist = py{py,py3,36,37,38,39,310,311}{,-cryptographyMinimum}{,-useWheel}{,-randomorder},py311-twistedTrunk,check-manifest,flake8,py311-mypy,docs,coverage-report [testenv] allowlist_externals = openssl passenv = ARCHFLAGS CFLAGS LC_ALL LDFLAGS PATH LD_LIBRARY_PATH TERM RUSTUP_TOOLCHAIN RUSTUP_HOME extras = test deps = coverage>=4.2 cryptographyMinimum: cryptography==38.0.0 randomorder: pytest-randomly setenv = # Do not allow the executing environment to pollute the test environment # with extra packages. PYTHONPATH= PIP_NO_BINARY=cryptography useWheel: PIP_NO_BINARY= commands = cryptographyMain: pip install -U git+https://github.com/pyca/cryptography.git openssl version coverage run --parallel -m OpenSSL.debug coverage run --parallel -m pytest -v {posargs} [testenv:py311-twistedTrunk] deps = pyasn1!=0.5.0 Twisted[all_non_platform] @ git+https://github.com/twisted/twisted setenv = commands = python -m OpenSSL.debug python -m twisted.trial -j4 --reporter=text twisted [testenv:flake8] basepython = python3 deps = black flake8 flake8-import-order skip_install = true commands = black --check . flake8 . [testenv:py311-mypy] deps = mypy==1.1.1 skip_install = true commands = mypy src [testenv:check-manifest] deps = check-manifest skip_install = true commands = check-manifest [testenv:docs] extras = docs commands = sphinx-build -W -b html doc doc/_build/html {posargs} [testenv:coverage-report] deps = coverage>=4.2 skip_install = true commands = coverage combine coverage report [flake8] application-import-names = OpenSSL ignore = E203,W503,W504