[tox]
minversion = 1.8
envlist = bashate,docs,build,test
skipsdist = True

[testenv]
basepython = python3
envdir = {toxworkdir}/venv
setenv = VIRTUAL_ENV={envdir}
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY DIB_* CLOUD_INIT_DATASOURCES OCTAVIA_REPO_PATH
install_command = pip install -U {opts} {packages}
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt
whitelist_externals =   virt-filesystems
                        virt-inspector
                        awk
                        mkdir
                        rm

[testenv:docs]
commands = doc8 README.rst ../elements/haproxy-octavia/README.rst ../elements/root-passwd/README.rst

[testenv:bashate]
commands = bashate diskimage-create.sh
            bashate image-tests.sh

[testenv:build]
# NOTE: specify cache directory explicitly with -c as the `diskimage-create.sh`
# default is based off of `$HOME` which is not passed on in a `tox` environment.
commands =  ./diskimage-create.sh -o {toxinidir}/amphora-x64-haproxy -w {toxworkdir} -c {toxworkdir}/.cache

[testenv:test]
# Work around tox limitations with command pipes
# https://bitbucket.org/hpk42/tox/issue/73/pipe-output-of-command-into-file
commands =  ./image-tests.sh {toxinidir}/.amp_tox_test
            rm -rf {toxinidir}/.amp_tox_test