84 lines
2.5 KiB
INI
Raw Normal View History

[tox]
envlist = py34,py27,pep8
minversion = 1.6
skipsdist = True
[testenv]
setenv = VIRTUAL_ENV={envdir}
usedevelop = True
install_command = pip install {opts} {packages}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
find {toxinidir} -not -path '{toxinidir}/.tox/*' -name '*.pyc' -delete
python setup.py testr --slowest --testr-args='^(?!heat_integrationtests){posargs}'
whitelist_externals =
bash
find
[testenv:py27log]
commands =
find . -type f -name "*.pyc" -delete
bash tools/pretty_tox.sh '^(?!heat_integrationtests){posargs}'
Support classes for heat integration tests These support classes started as a forklift of the classes needed to run tempest scenario orchestration tests. The original tempest code has been pared back to provide the small subset required by heat integration tests. From this point on these support classes can evolve to the specific needs of the integration tests. There is some unused code (especially in remote_client) which has been left in as it may become useful in the future, and is already extremely well reviewed and tested from being developed for tempest. The script heat_integrationtests/generate_sample.sh will generate an up-to-date heat_integrationtests/heat_integrationtests.conf.sample file which can be copied to heat_integrationtests/heat_integrationtests.conf to override default configuration values. A local ConfigOpts is created for each test to avoid any potential interaction with heat's global CONF. Configuration options for credentials default to being sourced from the environment. The default tox testenv now excludes tests in heat_integrationtests. A new testenv called "integration" will only run tests in heat_integrationtests. Integration tests will fail if preconditions are not met, including a keystone endpoint, credentials and glance containing the expected named image. Devstack gate hooks have been moved to heat_integrationtests now that the name of the package has been decided. Change-Id: I174429c16bb606c5c325ee8b62c6e600ea77a6e6 Partial-Blueprint: functional-tests
2014-08-25 10:37:27 +12:00
[testenv:integration]
setenv = VIRTUAL_ENV={envdir}
OS_TEST_PATH=./heat_integrationtests
TESTR_START_DIR=heat_integrationtests
passenv = OS_*
usedevelop = False
deps = -r{toxinidir}/heat_integrationtests/requirements.txt
commands =
bash tools/pretty_tox.sh '{posargs}'
[testenv:pep8]
commands =
flake8 heat bin/heat-api bin/heat-api-cfn bin/heat-api-cloudwatch bin/heat-engine bin/heat-manage contrib heat_integrationtests doc/source
# Check that .po and .pot files are valid:
bash -c "find heat -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
[testenv:venv]
commands = {posargs}
[testenv:cover]
commands =
python setup.py testr --coverage --testr-args='^(?!heat_integrationtests){posargs}'
[testenv:docs]
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
sphinxcontrib-httpdomain
commands = python setup.py build_sphinx
[testenv:genconfig]
commands =
oslo-config-generator --config-file=config-generator.conf
oslo-config-generator --config-file=heat_integrationtests/config-generator.conf
# FIXME(sirushtim): Sneak in flake8 here for now. This env will also be used
# to run the tests in the near future.
[testenv:py34]
commands =
flake8 heat bin/heat-api bin/heat-api-cfn bin/heat-api-cloudwatch bin/heat-engine bin/heat-manage contrib heat_integrationtests
find {toxinidir} -not -path '{toxinidir}/.tox/*' -name '*.pyc' -delete
bash tools/run-py3-tests.sh
[testenv:bandit]
deps = -r{toxinidir}/test-requirements.txt
commands = bandit -c bandit.yaml -r heat -n5 -p heat_conservative
[flake8]
# H404 multi line docstring should start with a summary
# H405 multi line docstring summary not separated with an empty line
ignore = H404,H405
show-source = true
exclude=.*,dist,*openstack/common*,*lib/python*,*egg,tools,build,*convergence/scenarios/*
max-complexity=20
[hacking]
import_exceptions = heat.common.i18n
[testenv:debug]
commands = oslo_debug_helper {posargs}