blob: e0d6a31c779d480a4b9a2387cbf2329f9afc2ddb [file] [log] [blame]
# 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 =
pytest
pytest-asyncio
pytest-xdist
mock
asynctest
ipdb
[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 {posargs} juju tests
deps =
flake8
[testenv:lint]
envdir = {toxworkdir}/py35
commands =
flake8 --ignore E501 {posargs} juju
deps =
flake8
[testenv:integration]
envdir = {toxworkdir}/py3
commands = 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/_*