[tox]
envlist = pep8
minversion = 1.6
skipsdist = True

[testenv]
setenv = VIRTUAL_ENV={envdir}
         LANG=en_US.UTF-8
         LANGUAGE=en_US:en
         LC_ALL=C
usedevelop = True

[testenv:all]
sitepackages = True
setenv = VIRTUAL_ENV={envdir}
commands =
  python setup.py testr --slowest --testr-args='{posargs}'

[testenv:full]
sitepackages = True
# 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 =
  sh tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli|tests)) {posargs}'

[testenv:testr-full]
sitepackages = True
commands =
  sh tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli|tests)) {posargs}'

[testenv:heat-slow]
sitepackages = True
setenv = OS_TEST_TIMEOUT=1200
# The regex below is used to select heat api/scenario tests tagged as slow.
commands =
  sh tools/pretty_tox_serial.sh '(?=.*\[.*\bslow\b.*\])(^tempest\.(api|scenario)\.orchestration) {posargs}'

[testenv:large-ops]
sitepackages = True
commands =
  python setup.py testr --slowest --testr-args='tempest.scenario.test_large_ops {posargs}'


[testenv:py26-full]
sitepackages = True
setenv = VIRTUAL_ENV={envdir}
         NOSE_WITH_OPENSTACK=1
         NOSE_OPENSTACK_COLOR=1
         NOSE_OPENSTACK_RED=15
         NOSE_OPENSTACK_YELLOW=3
         NOSE_OPENSTACK_SHOW_ELAPSED=1
         NOSE_OPENSTACK_STDOUT=1
         TEMPEST_PY26_NOSE_COMPAT=1
commands =
  nosetests --logging-format '%(asctime)-15s %(message)s' --with-xunit -sv --xunit-file=nosetests-full.xml tempest/api tempest/scenario tempest/thirdparty tempest/cli tempest/tests {posargs}

[testenv:py26-smoke]
setenv = VIRTUAL_ENV={envdir}
NOSE_WITH_OPENSTACK=1
         NOSE_OPENSTACK_COLOR=1
         NOSE_OPENSTACK_RED=15
         NOSE_OPENSTACK_YELLOW=3
         NOSE_OPENSTACK_SHOW_ELAPSED=1
         NOSE_OPENSTACK_STDOUT=1
         TEMPEST_PY26_NOSE_COMPAT=1
commands =
  nosetests --logging-format '%(asctime)-15s %(message)s' --with-xunit -sv --attr=type=smoke --xunit-file=nosetests-smoke.xml tempest {posargs}

[testenv:smoke]
sitepackages = True
# 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 =
   sh tools/pretty_tox_serial.sh 'smoke {posargs}'

[testenv:coverage]
sitepackages = True
commands =
   python -m tools/tempest_coverage -c start --combine
   sh tools/pretty_tox.sh '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario|thirdparty|cli|tests))'
   python -m tools/tempest_coverage -c report --html {posargs}

[testenv:stress]
sitepackages = True
commands =
    python -m tempest/stress/run_stress -a -d 3600 -S

[testenv:venv]
commands = {posargs}
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt

[testenv:pep8]
commands = flake8
deps = -r{toxinidir}/requirements.txt
       -r{toxinidir}/test-requirements.txt

[hacking]
local-check-factory = tempest.hacking.checks.factory

[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/
ignore = E125,H302,H404
show-source = True
exclude = .git,.venv,.tox,dist,doc,openstack,*egg
