2023-03-29 13:35:19 +02:00

64 lines
1.8 KiB
INI

[tox]
minversion = 1.6
envlist = linters
skipsdist = True
[testenv]
basepython = python3
usedevelop = True
install_command = pip install {opts} {packages}
[testenv:linters]
deps =
hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
bashate>=0.2 # Apache-2.0
PyYAML>=3.10.0 # MIT
ansible
openstacksdk
testtools
mock
flake8
whitelist_externals = bash
setenv =
ANSIBLE_LIBRARY= {toxinidir}/tools/fake-ansible/library
commands =
flake8
{toxinidir}/tools/run-bashate.sh
python3 {toxinidir}/tools/check_clouds_yaml.py
# The following command validates that inventory/base/hosts.yaml
# parses, but doesn't do anything.
bash -c "ANSIBLE_INVENTORY_PLUGINS=./playbooks/roles/install-ansible/files/inventory_plugins ansible -i ./inventory/base/hosts.yaml not_a_host -a 'true'"
python3 -m unittest playbooks/roles/install-ansible/files/inventory_plugins/test_yamlgroup.py
[testenv:docs]
deps = -r{toxinidir}/doc/requirements.txt
whitelist_externals = cp
commands =
python3 {toxinidir}/tools/generate-diagrams.py --path doc/source/_svg
sphinx-build -W -E -b html doc/source doc/build/html -vv
# this copy is crucially important for svg to work
cp -av doc/source/_images doc/build/html/
[testenv:testinfra]
deps =
ansible-core
pytest-html # MPL-2.0
pytest-testinfra>=6.0.0
python-memcached
selenium
# This environment assumes a gate-hosts.yaml file has been written.
passenv =
TESTINFRA_EXTRA_DATA
commands = py.test \
--junit-xml junit.xml -o junit_family=xunit1 \
--html=test-results.html --self-contained-html \
--connection=ansible \
--ansible-inventory=/home/zuul/src/gitea.eco.tsi-dev.otc-service.com/scs/system-config/inventory/base/gate-hosts.yaml -v testinfra {posargs}
[flake8]
show-source = True
exclude = .tox,.eggs
ignore = E125,H
select = H231