X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=tox.ini;h=4685666646311aba23248ebf5e2647977d334e0b;hp=350a1fc114fe79fd5fab38ce2f4fe58cd24ddcd1;hb=refs%2Fchanges%2F51%2F8651%2F3;hpb=b8a8281b1785358bd5632a119c016f21811172c6;ds=sidebyside diff --git a/tox.ini b/tox.ini index 350a1fc..4685666 100644 --- a/tox.ini +++ b/tox.ini @@ -1,10 +1,24 @@ +# Copyright 2019 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# 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 = lint,py3 +envlist = py3,lint,integration skipsdist=True [pytest] @@ -14,53 +28,50 @@ markers = [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} +commands = py.test --ignore modules/ --ignore tests/charms/ --tb native -ra -v -s -n auto -k 'not integration' -m 'not serial' {posargs} passenv = HOME - TEST_AGENTS + 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 deps = - asynctest - ipdb mock + pyyaml 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 + pytest-assume + paramiko + pylxd [testenv:py3] -# default tox env excludes integration and serial tests +# 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} + pytest --ignore modules/ --ignore tests/charms/ --tb native -ra -v -n auto -k 'not integration' -m 'not serial' {posargs} [testenv:lint] envdir = {toxworkdir}/py3 commands = - flake8 --ignore E501,W504 {posargs} juju tests + flake8 --ignore E501,E402 --exclude tests/charms/builds,tests/charms/deps {posargs} n2vc 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} +commands = py.test --ignore modules/ --ignore tests/charms/ --tb native -ra -v -s -n 1 -k 'integration' -m 'serial' {posargs} -[flake8] -exclude = juju/client/_* +[testenv:build] +deps = + stdeb + setuptools-version-command +commands = python3 setup.py --command-packages=stdeb.command bdist_deb