# Tox (http://tox.testrun.org/) is a tool for running tests # in multiple virtualenvs. This configuration file will run the # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox" from this directory. [tox] envlist = lint,py3 skipsdist=True [pytest] markers = serial: mark a test that must run by itself [testenv] basepython=python3 usedevelop=True # for testing with other python versions commands = py.test --tb native -ra -v -s -n auto -k 'not integration' -m 'not serial' {posargs} passenv = HOME TEST_AGENTS deps = asynctest ipdb mock pytest pytest-asyncio pytest-xdist Twine # use fork to pick up fix for https://github.com/aaugustin/websockets/pull/528 git+https://github.com/johnsca/websockets@bug/client-redirects#egg=websockets [testenv:py3] # default tox env excludes integration and serial tests commands = # These need to be installed in a specific order pip install urllib3==1.22 pip install pylxd py.test --tb native -ra -v -s -n auto -k 'not integration' -m 'not serial' {posargs} [testenv:lint] envdir = {toxworkdir}/py3 commands = flake8 --ignore E501,W504 {posargs} juju tests deps = flake8 [testenv:integration] envdir = {toxworkdir}/py3 commands = # These need to be installed in a specific order pip install urllib3==1.22 pip install pylxd py.test --tb native -ra -v -s -n auto -k 'integration' -m 'not serial' {posargs} [testenv:serial] # tests that can't be run in parallel envdir = {toxworkdir}/py3 commands = py.test --tb native -ra -v -s {posargs:-m 'serial'} [testenv:example] envdir = {toxworkdir}/py3 commands = python {posargs} [flake8] exclude = juju/client/_*