Workaround for bug 816
[osm/N2VC.git] / modules / libjuju / tox.ini
index ce421d6..350a1fc 100644 (file)
@@ -4,37 +4,63 @@
 # 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 =
+    asynctest
+    ipdb
+    mock
     pytest
     pytest-asyncio
     pytest-xdist
-    mock
-    asynctest
-    ipdb
+    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: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}/py35
+envdir = {toxworkdir}/py3
 commands =
-    flake8 --ignore E501 {posargs} juju
+    flake8 --ignore E501,W504 {posargs} juju tests
 deps =
     flake8
 
 [testenv:integration]
-envdir = {toxworkdir}/py35
+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/_*