[tox] envlist = py{py,py3,36,37,38,39,310,311}{,-cryptographyMain,-cryptographyMinimum}{,-useWheel}{,-randomorder},py37-twistedTrunk,check-manifest,flake8,py36-mypy,docs,coverage-report [testenv] allowlist_externals = openssl passenv = ARCHFLAGS CFLAGS LC_ALL LDFLAGS PATH LD_LIBRARY_PATH TERM extras = test deps = coverage>=4.2 cryptographyMain: git+https://github.com/pyca/cryptography.git 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 = openssl version coverage run --parallel -m OpenSSL.debug coverage run --parallel -m pytest -v {posargs} [testenv:py37-twistedTrunk] deps = Twisted[all_non_platform] @ git+https://github.com/twisted/twisted setenv = commands = python -c "import OpenSSL.SSL; print(OpenSSL.SSL.SSLeay_version(OpenSSL.SSL.SSLEAY_VERSION))" python -c "import cryptography; print(cryptography.__version__)" python -m twisted.trial --reporter=text twisted [testenv:flake8] basepython = python3 deps = black flake8 flake8-import-order skip_install = true commands = black --check . flake8 . [testenv:py36-mypy] deps = mypy==0.950 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