browbeat/tox.ini
agopi 03be425102 Add numpy to extras
Move numpy out of requirements into extras, as it's not required
for running browbeat, but only used for insights like compare
results.

So to install with insights, pip install .[insights], to perform
the CLI operations such as compare.

Added a tox test to ensure no dep conflict arises.

Change-Id: Id8aafcd479003ae79ab8c2d0f1fa378ea38d60d2
Closes-Bug: #1799690
2018-11-12 15:41:24 +00:00

79 lines
2.0 KiB
INI

[tox]
minversion = 2.0
envlist = py27,py35,py36,linters,dist,insights
skipsdist = True
[testenv]
usedevelop = True
install_command = pip install -U {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/test-requirements.txt
commands = python setup.py test
[testenv:linters]
# py3 linters are able to stop more than py2 ones
basepython = python3
whitelist_externals = bash
extras = insights
commands =
{[testenv:pep8]commands}
bash -c "cd ansible; find . -type f -regex '.*.y[a]?ml' -print0 | xargs -t -n1 -0 \
ansible-lint \
-x ANSIBLE0012,ANSIBLE0006,ANSIBLE0007,ANSIBLE0016,ANSIBLE0019" \
--exclude=rally
pykwalify -d browbeat-config.yaml -s browbeat/schema/browbeat.yml
pykwalify -d browbeat-complete.yaml -s browbeat/schema/browbeat.yml
bash -c "set -e; for config in $(ls conf/); do \
echo conf/$config; pykwalify -d conf/$config -s browbeat/schema/browbeat.yml; done"
[testenv:dist]
basepython = python3
# reuse linters environment to lower footprint on dev machines
envdir = {toxworkdir}/linters
# test that we can build a valid package
commands =
python setup.py sdist bdist_wheel
python -m twine check dist/*
[testenv:insights]
commands =
pip check
pip install .[insights]
pip check
[testenv:pep8]
commands = flake8 {posargs}
[testenv:venv]
commands = {posargs}
[testenv:py27]
basepython = python2.7
commands = pytest {posargs}
[testenv:py35]
basepython = python3.5
commands = pytest {posargs}
[testenv:py36]
basepython = python3.6
commands = pytest {posargs}
[testenv:cover]
commands = python setup.py test --coverage --testr-args='{posargs}'
[testenv:docs]
commands = python setup.py build_sphinx
[testenv:debug]
commands = oslo_debug_helper {posargs}
[flake8]
# E123, E125 skipped as they are invalid PEP-8.
show-source = True
ignore = E123,E125,E226,E302,E41,E231,E203,H233,H306,H238,H236,H404,H405,W504
max-line-length = 100
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,ansible/*,.browbeat-venv,.perfkit-venv,.rally-venv,.shaker-venv