[tox] envlist = py36,py27,pep8,docs minversion = 1.6 skipsdist = True [testenv] usedevelop = True install_command = pip install -U {opts} {packages} setenv = VIRTUAL_ENV={envdir} LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=C deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = stestr run {posargs} [testenv:pep8] commands = flake8 [testenv:venv] commands = {posargs} [testenv:bashate] deps = bashate whitelist_externals = bash commands = bash -c "find {toxinidir} -type f -not -wholename \*.tox/\* -and \( -name \*.sh -or -name \*rc -or -name functions\* -or \( -wholename lib/\* -and -not -name \*.md \) \) -print0 | xargs -0 bashate -v" [testenv:cover] setenv = PYTHON=coverage run --source $project --parallel-mode commands = stestr run {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml [testenv:integration] setenv = {[testenv]setenv} SHAKER_SERVER_ENDPOINT=localhost:5900 SHAKER_AGENT_ID=the-agent SHAKER_POLLING_INTERVAL=2 SHAKER_AGENT_JOIN_TIMEOUT=30 deps = {[testenv]deps} daemonize os-testr whitelist_externals = bash commands = shaker --debug --scenario test/spot --artifacts-dir {envlogdir} python tools/run_agent_as_daemon.py --start --pid {envtmpdir}/shaker-agent.pid shaker --debug --scenario test/static_agent --artifacts-dir {envlogdir} python tools/run_agent_as_daemon.py --stop --pid {envtmpdir}/shaker-agent.pid bash tools/process_subunit.sh {envlogdir} [testenv:integration-py27] basepython = python2.7 setenv = {[testenv:integration]setenv} deps = {[testenv:integration]deps} whitelist_externals = {[testenv:integration]whitelist_externals} commands = {[testenv:integration]commands} [testenv:integration-py36] basepython = python3.6 setenv = {[testenv:integration]setenv} deps = {[testenv:integration]deps} whitelist_externals = {[testenv:integration]whitelist_externals} commands = {[testenv:integration]commands} [testenv:genconfig] # When shaker is setup in develop mode it results in 2 packages: shaker and pyshaker # The workaround is to setup it in production mode usedevelop = False commands = python setup.py install oslo-config-generator --config-file=config-generator.conf python tools/cli_auto_doc.py doc/source/tools python tools/build_scenario_catalog.py doc/source/catalog.rst [testenv:docs] commands = python setup.py build_sphinx [testenv:svg2png] deps = cairosvg lxml tinycss cssselect whitelist_externals = bash commands = bash tools/svg2png.sh [flake8] # E125 continuation line does not distinguish itself from next logical line # H405 multi line docstring summary not separated with an empty line # E731 do not assign a lambda expression, use a def # W504 line break after binary operator ignore = E125,H405,E731,W504 show-source = true builtins = _ exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,tools,build enable-extensions = H106,H203