[tox] envlist = py36,py37,py38,py39,py39-dev,pypy,pypy3,bare,coverage-report [testenv] # Prevent random setuptools/pip breakages like # https://github.com/pypa/setuptools/issues/1042 from breaking our builds. setenv = VIRTUALENV_NO_DOWNLOAD=1 deps= -r{toxinidir}/requirements.txt -r{toxinidir}/dev-requirements.txt commands = python setup.py compile_catalog coverage run --parallel -m pytest {posargs} flake8 . --count --show-source --statistics [testenv:py36] deps= dbus-python -r{toxinidir}/requirements.txt -r{toxinidir}/dev-requirements.txt -r{toxinidir}/all-plugin-requirements.txt commands = python setup.py compile_catalog coverage run --parallel -m pytest {posargs} flake8 . --count --show-source --statistics [testenv:py37] deps= dbus-python -r{toxinidir}/requirements.txt -r{toxinidir}/dev-requirements.txt -r{toxinidir}/all-plugin-requirements.txt commands = python setup.py compile_catalog coverage run --parallel -m pytest {posargs} flake8 . --count --show-source --statistics [testenv:py38] deps= dbus-python -r{toxinidir}/requirements.txt -r{toxinidir}/dev-requirements.txt -r{toxinidir}/all-plugin-requirements.txt commands = python setup.py compile_catalog coverage run --parallel -m pytest {posargs} flake8 . --count --show-source --statistics [testenv:py39] deps= dbus-python -r{toxinidir}/requirements.txt -r{toxinidir}/dev-requirements.txt -r{toxinidir}/all-plugin-requirements.txt commands = python setup.py compile_catalog coverage run --parallel -m pytest {posargs} flake8 . --count --show-source --statistics [testenv:bare] deps= -r{toxinidir}/requirements.txt -r{toxinidir}/dev-requirements.txt commands = python setup.py compile_catalog coverage run --parallel -m pytest {posargs} flake8 . --count --show-source --statistics [testenv:py39-dev] deps= dbus-python -r{toxinidir}/requirements.txt -r{toxinidir}/dev-requirements.txt -r{toxinidir}/all-plugin-requirements.txt commands = python setup.py compile_catalog coverage run --parallel -m pytest {posargs} flake8 . --count --show-source --statistics [testenv:pypy] deps= -r{toxinidir}/requirements.txt -r{toxinidir}/dev-requirements.txt -r{toxinidir}/all-plugin-requirements.txt commands = python setup.py compile_catalog coverage run --parallel -m pytest {posargs} flake8 . --count --show-source --statistics [testenv:pypy3] deps= -r{toxinidir}/requirements.txt -r{toxinidir}/dev-requirements.txt -r{toxinidir}/all-plugin-requirements.txt # Last supported cryptography version that can link against # OpenSSL v1.0.2 (which pypy35 uses) is 3.1.1 commands = pip install --upgrade cryptography==3.1.1 python setup.py compile_catalog coverage run --parallel -m pytest {posargs} flake8 . --count --show-source --statistics [testenv:coverage-report] deps = coverage skip_install = true commands= coverage combine coverage report