[tox] envlist = py{35,27},py{35,27}-{postgresql},cover,pep8,bandit,docs [testenv] usedevelop = True whitelist_externals = bash find rm flake8 setenv = VIRTUAL_ENV={envdir} OS_TEST_PATH=./deckhand/tests/unit LANGUAGE=en_US LC_ALL=en_US.utf-8 passenv = OS_STDOUT_CAPTURE OS_STDERR_CAPTURE OS_TEST_TIMEOUT OS_TEST_LOCK_PATH OS_TEST_PATH http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY DECKHAND_IMAGE deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = find . -type f -name "*.pyc" -delete rm -Rf .testrepository/times.dbm [testenv:py27] commands = {[testenv]commands} stestr run {posargs} stestr slowest [testenv:py27-postgresql] commands = {[testenv]commands} {toxinidir}/tools/run_pifpaf.sh '{posargs}' [testenv:py35] commands = {[testenv]commands} stestr run {posargs} stestr slowest [testenv:py35-postgresql] commands = {[testenv]commands} {toxinidir}/tools/run_pifpaf.sh '{posargs}' [testenv:functional] setenv = VIRTUAL_ENV={envdir} OS_TEST_PATH=./deckhand/tests/functional LANGUAGE=en_US deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = find . -type f -name "*.pyc" -delete {toxinidir}/tools/functional-tests.sh '{posargs}' [testenv:cover] setenv = {[testenv]setenv} PYTHON=coverage run --source deckhand --parallel-mode commands = coverage erase find . -type f -name "*.pyc" -delete stestr run {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml coverage report [testenv:bandit] whitelist_externals = bandit commands = bandit -r deckhand -x deckhand/tests -n 5 [testenv:genconfig] commands = oslo-config-generator --config-file=etc/deckhand/config-generator.conf [testenv:genpolicy] commands = oslopolicy-sample-generator --config-file=etc/deckhand/policy-generator.conf [testenv:pep8] commands = flake8 {posargs} [flake8] # [H106] Don’t put vim configuration in source files. # [H203] Use assertIs(Not)None to check for None. # [H204] Use assert(Not)Equal to check for equality. # [H205] Use assert(Greater|Less)(Equal) for comparison. # [H210] Require ‘autospec’, ‘spec’, or ‘spec_set’ in mock.patch/mock.patch.object calls # [H904] Delay string interpolations at logging calls. enable-extensions = H106,H203,H204,H205,H210,H904 ignore = E127,E128,E129,E131,H405 exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,releasenotes,docs,alembic/versions [testenv:docs] deps = -r{toxinidir}/requirements.txt -r{toxinidir}/docs/requirements.txt commands = rm -rf docs/build rm -rf releasenotes/build sphinx-build -W -b html docs/source docs/build/html whitelist_externals = rm [testenv:releasenotes] deps = -r{toxinidir}/requirements.txt -r{toxinidir}/docs/requirements.txt commands = rm -rf releasenotes/build sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html whitelist_externals = rm