# 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 = py27, coverage, flake8, bandit

[testenv]
# using sitepackages is not a good idea, but Koji... :(
sitepackages = True
install_command = pip install --force-reinstall --ignore-installed {packages}
deps =
    copr
    mock
    nose
    pytest
    vcrpy
commands = py.test {posargs}

[testenv:coverage]
basepython = python2
deps =
    {[testenv]deps}
    coverage
commands =
    coverage run --parallel-mode -m pytest
    coverage combine
    coverage report --omit=tests/*,.tox/*,/usr/* -m --skip-covered

[testenv:flake8]
basepython = python2
skip_install = true
deps = flake8
commands = flake8 --ignore E501,E731
ignore_outcome = True

[testenv:bandit]
basepython = python2
skip_install = true
deps = bandit
commands =
    /bin/bash -c "bandit -r -ll $(find . -mindepth 1 -maxdepth 1 ! -name tests ! -name \.\* -type d -o -name \*.py)"
ignore_outcome = True
