[tox] envlist = pep8,py27 minversion = 1.6 skipsdist = True [tempestenv] sitepackages = True setenv = VIRTUAL_ENV={envdir} OS_TEST_PATH=./tempest/test_discover deps = -r{toxinidir}/requirements.txt [testenv] setenv = VIRTUAL_ENV={envdir} OS_TEST_PATH=./tempest/tests usedevelop = True install_command = pip install -U {opts} {packages} whitelist_externals = * deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = bash tools/pretty_tox.sh '{posargs}' [testenv:genconfig] commands = oslo-config-generator --config-file tools/config/config-generator.tempest.conf [testenv:cover] setenv = OS_TEST_PATH=./tempest/tests commands = python setup.py testr --coverage --testr-arg='tempest\.tests {posargs}' [testenv:all] sitepackages = {[tempestenv]sitepackages} # 'all' includes slow tests setenv = {[tempestenv]setenv} OS_TEST_TIMEOUT=1200 deps = {[tempestenv]deps} commands = bash tools/pretty_tox.sh '{posargs}' [testenv:full] sitepackages = {[tempestenv]sitepackages} setenv = {[tempestenv]setenv} deps = {[tempestenv]deps} # The regex below is used to select which tests to run and exclude the slow tag: # See the testrepostiory bug: https://bugs.launchpad.net/testrepository/+bug/1208610 commands = bash tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli)) {posargs}' [testenv:full-serial] sitepackages = {[tempestenv]sitepackages} setenv = {[tempestenv]setenv} deps = {[tempestenv]deps} # The regex below is used to select which tests to run and exclude the slow tag: # See the testrepostiory bug: https://bugs.launchpad.net/testrepository/+bug/1208610 commands = bash tools/pretty_tox_serial.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli)) {posargs}' [testenv:heat-slow] sitepackages = {[tempestenv]sitepackages} setenv = {[tempestenv]setenv} OS_TEST_TIMEOUT=1200 deps = {[tempestenv]deps} # The regex below is used to select heat api/scenario tests tagged as slow. commands = bash tools/pretty_tox.sh '(?=.*\[.*\bslow\b.*\])(^tempest\.(api|scenario)\.orchestration) {posargs}' [testenv:large-ops] sitepackages = {[tempestenv]sitepackages} setenv = {[tempestenv]setenv} deps = {[tempestenv]deps} commands = python setup.py testr --slowest --testr-args='tempest.scenario.test_large_ops {posargs}' [testenv:smoke] sitepackages = {[tempestenv]sitepackages} setenv = {[tempestenv]setenv} deps = {[tempestenv]deps} commands = bash tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])((smoke)|(^tempest\.scenario)) {posargs}' [testenv:smoke-serial] sitepackages = {[tempestenv]sitepackages} setenv = {[tempestenv]setenv} deps = {[tempestenv]deps} # This is still serial because neutron doesn't work with parallel. See: # https://bugs.launchpad.net/tempest/+bug/1216076 so the neutron smoke # job would fail if we moved it to parallel. commands = bash tools/pretty_tox_serial.sh '(?!.*\[.*\bslow\b.*\])((smoke)|(^tempest\.scenario)) {posargs}' [testenv:stress] sitepackages = {[tempestenv]sitepackages} setenv = {[tempestenv]setenv} deps = {[tempestenv]deps} commands = run-tempest-stress '{posargs}' [testenv:venv] commands = {posargs} [testenv:docs] commands = python setup.py build_sphinx {posargs} [testenv:pep8] commands = flake8 {posargs} {toxinidir}/tools/config/check_uptodate.sh [hacking] local-check-factory = tempest.hacking.checks.factory import_exceptions = tempest.services [flake8] # E125 is a won't fix until https://github.com/jcrocholl/pep8/issues/126 is resolved. For further detail see https://review.openstack.org/#/c/36788/ # H402 skipped because some docstrings aren't sentences # E123 skipped because it is ignored by default in the default pep8 # E129 skipped because it is too limiting when combined with other rules # H305 skipped because it is inconsistent between python versions # Skipped because of new hacking 0.9: H405,H904 ignore = E125,H402,E123,E129,H404,H405,H904,H305 show-source = True exclude = .git,.venv,.tox,dist,doc,openstack,*egg