[tox]
envlist = linters
minversion = 2.9
skipsdist = True
sitepackages = False

[testenv]
install_command = pip install -U \
    {opts} {packages} \
    -c{env:TOX_CONSTRAINTS_FILE:https://opendev.org/starlingx/root/raw/branch/master/build-tools/requirements/debian/upper-constraints.txt}
setenv =
    VIRTUAL_ENV={envdir}
    OS_STDOUT_CAPTURE=1
    OS_STDERR_CAPTURE=1
    OS_DEBUG=1
    OS_LOG_CAPTURE=1
deps =
    -r{toxinidir}/requirements.txt
    -r{toxinidir}/test-requirements.txt
allowlist_externals =
    bash
passenv =
    XDG_CACHE_HOME


[testenv:bashate]
# Treat all E* codes as Errors rather than warnings using: -e 'E*'
commands =
    bash -c "find {toxinidir}                 \
        -not \( -type d -name .?\* -prune \)  \
        -type f                               \
        -not -name \*~                        \
        -not -name \*.md                      \
        -name \*.sh                           \
        -print0 | xargs -r -n 1 -0 bashate -v \
        -e 'E*'"


[testenv:linters]
commands =
    {[testenv:bashate]commands}


[testenv:flake8]
basepython = python3
description = Dummy environment to allow flake8 to be run in subdir tox


[testenv:pylint]
basepython = python3
description = Dummy environment to allow pylint to be run in subdir tox


[testenv:metadata]
basepython = python3
description = Dummy environment to allow sysinv-app to be run in subdir tox


[testenv:bandit]
basepython = python3
description = Dummy environment to allow bandit to be run in subdir tox