blob: 4685666646311aba23248ebf5e2647977d334e0b [file] [log] [blame]
# 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 = py3,lint,integration
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
deps =
mock
pyyaml
pytest
pytest-asyncio
pytest-xdist
pytest-assume
paramiko
pylxd
[testenv:py3]
# default tox env, excludes integration and serial tests
commands =
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,E402 --exclude tests/charms/builds,tests/charms/deps {posargs} n2vc tests
deps =
flake8
[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}
[testenv:build]
deps =
stdeb
setuptools-version-command
commands = python3 setup.py --command-packages=stdeb.command bdist_deb