allow starts N2VCJujuConnector without the parameter api_proxy
[osm/N2VC.git] / tox.ini
diff --git a/tox.ini b/tox.ini
index 4685666..bc316e1 100644 (file)
--- a/tox.ini
+++ b/tox.ini
 #     See the License for the specific language governing permissions and
 #     limitations under the License.
 
-# 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 = py3,lint,integration
+envlist = cover, flake8, pylint, pylint-tests
 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 --ignore modules/ --ignore tests/charms/ --tb native -ra -v -s -n auto -k 'not integration' -m 'not serial' {posargs}
-passenv =
-    HOME
-    VCA_PATH
-    VCA_HOST
-    VCA_PORT
-    VCA_USER
-    VCA_SECRET
-    LXD_HOST
-    LXD_SECRET
-    VCA_CACERT
-    # These are needed so executing `charm build` succeeds
-    TERM
-    TERMINFO
+[testenv:cover]
+basepython = python3
+deps =
+  nose2
+  -rrequirements.txt
+  -rtest-requirements.txt
+commands =
+  coverage erase
+  nose2 -C --coverage n2vc --plugin nose2.plugins.junitxml -s n2vc
+  coverage report --omit='*tests*'
+  coverage html -d ./cover --omit='*tests*'
+  coverage xml -o coverage.xml --omit='*tests*'
+
+[testenv:pylint]
+basepython = python3
 deps =
-    mock
-    pyyaml
-    pytest
-    pytest-asyncio
-    pytest-xdist
-    pytest-assume
-    paramiko
-    pylxd
+  pylint
+  -rrequirements.txt
+commands =
+  pylint -E n2vc --ignore=tests
 
-[testenv:py3]
-# default tox env, excludes integration and serial tests
+[testenv:pylint-tests]
+basepython = python3
+deps =
+  pylint
+  -rrequirements.txt
+  -rtest-requirements.txt
 commands =
-    pytest --ignore modules/ --ignore tests/charms/ --tb native -ra -v -n auto -k 'not integration' -m 'not serial' {posargs}
+  pylint -E n2vc.tests
 
-[testenv:lint]
-envdir = {toxworkdir}/py3
+[testenv:black]
+basepython = python3
+deps =
+  black
 commands =
-    flake8 --ignore E501,E402 --exclude tests/charms/builds,tests/charms/deps {posargs} n2vc tests
+  black --check --diff n2vc
+
+[testenv:flake8]
+basepython = python3
 deps =
-    flake8
+  flake8
+  -rrequirements.txt
+commands =
+  flake8 n2vc
 
-[testenv:integration]
-envdir = {toxworkdir}/py3
-commands = py.test --ignore modules/  --ignore tests/charms/ --tb native -ra -v -s -n 1 -k 'integration' -m 'serial' {posargs}
+[flake8]
+# W503 is invalid PEP-8
+max-line-length = 100
+show-source = True
+ignore = W503,E203
+exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,devops_stages/*,.rst
 
 [testenv:build]
 deps =
-    stdeb
-    setuptools-version-command
+  stdeb
+  setuptools-version-command
 commands = python3 setup.py --command-packages=stdeb.command bdist_deb