# and then run "tox" from this directory.
[tox]
-envlist = lint,py35
+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 -ra -v -s -x -n auto {posargs}
+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
asynctest
ipdb
-[testenv:py35]
-# default tox env excludes integration tests
-commands = py.test -ra -v -s -x -n auto -k 'not integration' {posargs}
+[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
flake8
[testenv:integration]
-envdir = {toxworkdir}/py35
+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/_*