[tox]
minversion = 1.6
skipsdist = True
envlist = functional,pep8

[testenv]
install_command = pip install -U {opts} {packages}
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt

[testenv:pep8]
commands =
    flake8

[testenv:validate-contents]
commands =
    {toxinidir}/tools/validate-all-json.sh
    {toxinidir}/tools/validate-all-yaml.sh
    {toxinidir}/tools/validate-all-maintainer.sh
    {toxinidir}/tools/validate-links.sh

[testenv:bashate]
deps = bashate
whitelist_externals = bash
# tox improperly interprets # and {1} in regex, so match on [[:punct:]]+
commands =
    bash -c "files=`egrep -rlI --exclude-dir .git --exclude-dir .tox '^[[:punct:]]+!/(bin/|/usr/bin/env )(ba)?sh' .` && bashate $files"

[testenv:setupenv]
whitelist_externals = bash
commands = bash -c tests/setup_gate.sh

[testenv:images]
whitelist_externals = find
                      bash
                      sudo
commands =
   find . -type f -name "*.pyc" -delete
   bash -c "if [ ! -d .testrepository ]; then testr init; fi"
   sudo -g dockerroot testr run ^(test_images).*

[testenv:startenv]
whitelist_externals = bash
commands =
    bash -c tools/genenv
    sudo tools/kolla-compose start
# this can be improved after https://review.openstack.org/#/c/180729/
# tools/test-deploy

[testenv:functional]
whitelist_externals = find
                      bash
commands =
   find . -type f -name "*.pyc" -delete
   bash -c "if [ ! -d .testrepository ]; then testr init; fi"
   testr run ^(?!test_images).*

[flake8]
show-source = True
exclude=.git,.tox,doc,ansible/library,docker/centos/binary/kolla-ansible