[tox]
envlist = pep8

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

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

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

[testenv:heat-slow]
sitepackages = True
setenv = VIRTUAL_ENV={envdir}
         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
setenv = VIRTUAL_ENV={envdir}
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
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
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
setenv = VIRTUAL_ENV={envdir}
# 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
setenv = VIRTUAL_ENV={envdir}
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
setenv = VIRTUAL_ENV={envdir}
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
