124 lines
2.9 KiB
INI
Raw Normal View History

[tox]
Update tox configuration In order to prepare for implementing requirements management by the OpenStack requirements management process, and to improve the reliability and effectiveness of test execution, this patch implements some changes to the tox configuration: - The minimum tox version is increased in order to be able to use constraints for the python packages. - The OpenStack upper-constraints are used when preparing the test venv for the linters checks. - Any proxy environment variables set on the test host are passed into the venv to enable testing from behind a proxy. - The environment variables used by Ansible tests are moved into a new venv called 'ansible' and this environment is inherited by all Ansible-related tests. - The docs test will clean-up an existing build directory before executing the docs build. - The releasenotes build cannot use upper-constraints at this point, so it doesn't. - The Ansible role download will no longer ignore errors so that any problems discovered will result in a failed test. - The human readable logging callback plugin is implemented for functional testing. - The ansible test requirements are moved into tox.ini to ensure compliance for requirements.txt/test-requirements.txt for the global-requirements management contract. - The ~/.ansible directory as a whole is not deleted. Instead only the plugins and roles folders are deleted to ensure that zuul's Ansible artifacts are left in-place. - The ansible-lint version is updated to support execution against a folder, and the test now executes against the entire role to ensure that it captures all applicable files for lint testing. This is a combined port of the following: - https://review.openstack.org/323507 - https://review.openstack.org/338193 - https://review.openstack.org/332443 - https://review.openstack.org/338193 - https://review.openstack.org/339493 Change-Id: I93f75e43c38d0c304bb4741cbf477fc61dd5776b
2016-07-08 13:36:35 +01:00
minversion = 2.0
skipsdist = True
envlist = docs,linters,functional
[testenv]
usedevelop = True
Update tox configuration In order to prepare for implementing requirements management by the OpenStack requirements management process, and to improve the reliability and effectiveness of test execution, this patch implements some changes to the tox configuration: - The minimum tox version is increased in order to be able to use constraints for the python packages. - The OpenStack upper-constraints are used when preparing the test venv for the linters checks. - Any proxy environment variables set on the test host are passed into the venv to enable testing from behind a proxy. - The environment variables used by Ansible tests are moved into a new venv called 'ansible' and this environment is inherited by all Ansible-related tests. - The docs test will clean-up an existing build directory before executing the docs build. - The releasenotes build cannot use upper-constraints at this point, so it doesn't. - The Ansible role download will no longer ignore errors so that any problems discovered will result in a failed test. - The human readable logging callback plugin is implemented for functional testing. - The ansible test requirements are moved into tox.ini to ensure compliance for requirements.txt/test-requirements.txt for the global-requirements management contract. - The ~/.ansible directory as a whole is not deleted. Instead only the plugins and roles folders are deleted to ensure that zuul's Ansible artifacts are left in-place. - The ansible-lint version is updated to support execution against a folder, and the test now executes against the entire role to ensure that it captures all applicable files for lint testing. This is a combined port of the following: - https://review.openstack.org/323507 - https://review.openstack.org/338193 - https://review.openstack.org/332443 - https://review.openstack.org/338193 - https://review.openstack.org/339493 Change-Id: I93f75e43c38d0c304bb4741cbf477fc61dd5776b
2016-07-08 13:36:35 +01:00
install_command =
pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages}
commands =
/usr/bin/find . -type f -name "*.pyc" -delete
passenv =
COMMON_TESTS_PATH
HOME
Update tox configuration In order to prepare for implementing requirements management by the OpenStack requirements management process, and to improve the reliability and effectiveness of test execution, this patch implements some changes to the tox configuration: - The minimum tox version is increased in order to be able to use constraints for the python packages. - The OpenStack upper-constraints are used when preparing the test venv for the linters checks. - Any proxy environment variables set on the test host are passed into the venv to enable testing from behind a proxy. - The environment variables used by Ansible tests are moved into a new venv called 'ansible' and this environment is inherited by all Ansible-related tests. - The docs test will clean-up an existing build directory before executing the docs build. - The releasenotes build cannot use upper-constraints at this point, so it doesn't. - The Ansible role download will no longer ignore errors so that any problems discovered will result in a failed test. - The human readable logging callback plugin is implemented for functional testing. - The ansible test requirements are moved into tox.ini to ensure compliance for requirements.txt/test-requirements.txt for the global-requirements management contract. - The ~/.ansible directory as a whole is not deleted. Instead only the plugins and roles folders are deleted to ensure that zuul's Ansible artifacts are left in-place. - The ansible-lint version is updated to support execution against a folder, and the test now executes against the entire role to ensure that it captures all applicable files for lint testing. This is a combined port of the following: - https://review.openstack.org/323507 - https://review.openstack.org/338193 - https://review.openstack.org/332443 - https://review.openstack.org/338193 - https://review.openstack.org/339493 Change-Id: I93f75e43c38d0c304bb4741cbf477fc61dd5776b
2016-07-08 13:36:35 +01:00
http_proxy
HTTP_PROXY
https_proxy
HTTPS_PROXY
no_proxy
NO_PROXY
TESTING_BRANCH
TESTING_HOME
USER
whitelist_externals =
bash
setenv =
PYTHONUNBUFFERED=1
ROLE_NAME=os_swift
TEST_IDEMPOTENCE=false
TEST_PLAYBOOK={toxinidir}/tests/test.yml {toxinidir}/tests/test-swift-functional.yml
VIRTUAL_ENV={envdir}
WORKING_DIR={toxinidir}
[testenv:docs]
basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
commands=
Update tox configuration In order to prepare for implementing requirements management by the OpenStack requirements management process, and to improve the reliability and effectiveness of test execution, this patch implements some changes to the tox configuration: - The minimum tox version is increased in order to be able to use constraints for the python packages. - The OpenStack upper-constraints are used when preparing the test venv for the linters checks. - Any proxy environment variables set on the test host are passed into the venv to enable testing from behind a proxy. - The environment variables used by Ansible tests are moved into a new venv called 'ansible' and this environment is inherited by all Ansible-related tests. - The docs test will clean-up an existing build directory before executing the docs build. - The releasenotes build cannot use upper-constraints at this point, so it doesn't. - The Ansible role download will no longer ignore errors so that any problems discovered will result in a failed test. - The human readable logging callback plugin is implemented for functional testing. - The ansible test requirements are moved into tox.ini to ensure compliance for requirements.txt/test-requirements.txt for the global-requirements management contract. - The ~/.ansible directory as a whole is not deleted. Instead only the plugins and roles folders are deleted to ensure that zuul's Ansible artifacts are left in-place. - The ansible-lint version is updated to support execution against a folder, and the test now executes against the entire role to ensure that it captures all applicable files for lint testing. This is a combined port of the following: - https://review.openstack.org/323507 - https://review.openstack.org/338193 - https://review.openstack.org/332443 - https://review.openstack.org/338193 - https://review.openstack.org/339493 Change-Id: I93f75e43c38d0c304bb4741cbf477fc61dd5776b
2016-07-08 13:36:35 +01:00
bash -c "rm -rf doc/build"
doc8 doc
sphinx-build -b html doc/source doc/build/html
[doc8]
# Settings for doc8:
extensions = .rst
Update tox configuration In order to prepare for implementing requirements management by the OpenStack requirements management process, and to improve the reliability and effectiveness of test execution, this patch implements some changes to the tox configuration: - The minimum tox version is increased in order to be able to use constraints for the python packages. - The OpenStack upper-constraints are used when preparing the test venv for the linters checks. - Any proxy environment variables set on the test host are passed into the venv to enable testing from behind a proxy. - The environment variables used by Ansible tests are moved into a new venv called 'ansible' and this environment is inherited by all Ansible-related tests. - The docs test will clean-up an existing build directory before executing the docs build. - The releasenotes build cannot use upper-constraints at this point, so it doesn't. - The Ansible role download will no longer ignore errors so that any problems discovered will result in a failed test. - The human readable logging callback plugin is implemented for functional testing. - The ansible test requirements are moved into tox.ini to ensure compliance for requirements.txt/test-requirements.txt for the global-requirements management contract. - The ~/.ansible directory as a whole is not deleted. Instead only the plugins and roles folders are deleted to ensure that zuul's Ansible artifacts are left in-place. - The ansible-lint version is updated to support execution against a folder, and the test now executes against the entire role to ensure that it captures all applicable files for lint testing. This is a combined port of the following: - https://review.openstack.org/323507 - https://review.openstack.org/338193 - https://review.openstack.org/332443 - https://review.openstack.org/338193 - https://review.openstack.org/339493 Change-Id: I93f75e43c38d0c304bb4741cbf477fc61dd5776b
2016-07-08 13:36:35 +01:00
[testenv:releasenotes]
basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
Update tox configuration In order to prepare for implementing requirements management by the OpenStack requirements management process, and to improve the reliability and effectiveness of test execution, this patch implements some changes to the tox configuration: - The minimum tox version is increased in order to be able to use constraints for the python packages. - The OpenStack upper-constraints are used when preparing the test venv for the linters checks. - Any proxy environment variables set on the test host are passed into the venv to enable testing from behind a proxy. - The environment variables used by Ansible tests are moved into a new venv called 'ansible' and this environment is inherited by all Ansible-related tests. - The docs test will clean-up an existing build directory before executing the docs build. - The releasenotes build cannot use upper-constraints at this point, so it doesn't. - The Ansible role download will no longer ignore errors so that any problems discovered will result in a failed test. - The human readable logging callback plugin is implemented for functional testing. - The ansible test requirements are moved into tox.ini to ensure compliance for requirements.txt/test-requirements.txt for the global-requirements management contract. - The ~/.ansible directory as a whole is not deleted. Instead only the plugins and roles folders are deleted to ensure that zuul's Ansible artifacts are left in-place. - The ansible-lint version is updated to support execution against a folder, and the test now executes against the entire role to ensure that it captures all applicable files for lint testing. This is a combined port of the following: - https://review.openstack.org/323507 - https://review.openstack.org/338193 - https://review.openstack.org/332443 - https://review.openstack.org/338193 - https://review.openstack.org/339493 Change-Id: I93f75e43c38d0c304bb4741cbf477fc61dd5776b
2016-07-08 13:36:35 +01:00
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
# environment used by the -infra templated docs job
[testenv:venv]
basepython = python3
Update tox configuration In order to prepare for implementing requirements management by the OpenStack requirements management process, and to improve the reliability and effectiveness of test execution, this patch implements some changes to the tox configuration: - The minimum tox version is increased in order to be able to use constraints for the python packages. - The OpenStack upper-constraints are used when preparing the test venv for the linters checks. - Any proxy environment variables set on the test host are passed into the venv to enable testing from behind a proxy. - The environment variables used by Ansible tests are moved into a new venv called 'ansible' and this environment is inherited by all Ansible-related tests. - The docs test will clean-up an existing build directory before executing the docs build. - The releasenotes build cannot use upper-constraints at this point, so it doesn't. - The Ansible role download will no longer ignore errors so that any problems discovered will result in a failed test. - The human readable logging callback plugin is implemented for functional testing. - The ansible test requirements are moved into tox.ini to ensure compliance for requirements.txt/test-requirements.txt for the global-requirements management contract. - The ~/.ansible directory as a whole is not deleted. Instead only the plugins and roles folders are deleted to ensure that zuul's Ansible artifacts are left in-place. - The ansible-lint version is updated to support execution against a folder, and the test now executes against the entire role to ensure that it captures all applicable files for lint testing. This is a combined port of the following: - https://review.openstack.org/323507 - https://review.openstack.org/338193 - https://review.openstack.org/332443 - https://review.openstack.org/338193 - https://review.openstack.org/339493 Change-Id: I93f75e43c38d0c304bb4741cbf477fc61dd5776b
2016-07-08 13:36:35 +01:00
commands =
{posargs}
[testenv:pep8]
basepython = python3
commands =
bash -c "{toxinidir}/tests/common/test-pep8.sh"
Update tox configuration In order to prepare for implementing requirements management by the OpenStack requirements management process, and to improve the reliability and effectiveness of test execution, this patch implements some changes to the tox configuration: - The minimum tox version is increased in order to be able to use constraints for the python packages. - The OpenStack upper-constraints are used when preparing the test venv for the linters checks. - Any proxy environment variables set on the test host are passed into the venv to enable testing from behind a proxy. - The environment variables used by Ansible tests are moved into a new venv called 'ansible' and this environment is inherited by all Ansible-related tests. - The docs test will clean-up an existing build directory before executing the docs build. - The releasenotes build cannot use upper-constraints at this point, so it doesn't. - The Ansible role download will no longer ignore errors so that any problems discovered will result in a failed test. - The human readable logging callback plugin is implemented for functional testing. - The ansible test requirements are moved into tox.ini to ensure compliance for requirements.txt/test-requirements.txt for the global-requirements management contract. - The ~/.ansible directory as a whole is not deleted. Instead only the plugins and roles folders are deleted to ensure that zuul's Ansible artifacts are left in-place. - The ansible-lint version is updated to support execution against a folder, and the test now executes against the entire role to ensure that it captures all applicable files for lint testing. This is a combined port of the following: - https://review.openstack.org/323507 - https://review.openstack.org/338193 - https://review.openstack.org/332443 - https://review.openstack.org/338193 - https://review.openstack.org/339493 Change-Id: I93f75e43c38d0c304bb4741cbf477fc61dd5776b
2016-07-08 13:36:35 +01:00
[flake8]
# Ignores the following rules due to how ansible modules work in general
# F403 'from ansible.module_utils.basic import *' used;
# unable to detect undefined names
ignore=F403
[testenv:bashate]
commands =
bash -c "{toxinidir}/tests/common/test-bashate.sh"
Update tox configuration In order to prepare for implementing requirements management by the OpenStack requirements management process, and to improve the reliability and effectiveness of test execution, this patch implements some changes to the tox configuration: - The minimum tox version is increased in order to be able to use constraints for the python packages. - The OpenStack upper-constraints are used when preparing the test venv for the linters checks. - Any proxy environment variables set on the test host are passed into the venv to enable testing from behind a proxy. - The environment variables used by Ansible tests are moved into a new venv called 'ansible' and this environment is inherited by all Ansible-related tests. - The docs test will clean-up an existing build directory before executing the docs build. - The releasenotes build cannot use upper-constraints at this point, so it doesn't. - The Ansible role download will no longer ignore errors so that any problems discovered will result in a failed test. - The human readable logging callback plugin is implemented for functional testing. - The ansible test requirements are moved into tox.ini to ensure compliance for requirements.txt/test-requirements.txt for the global-requirements management contract. - The ~/.ansible directory as a whole is not deleted. Instead only the plugins and roles folders are deleted to ensure that zuul's Ansible artifacts are left in-place. - The ansible-lint version is updated to support execution against a folder, and the test now executes against the entire role to ensure that it captures all applicable files for lint testing. This is a combined port of the following: - https://review.openstack.org/323507 - https://review.openstack.org/338193 - https://review.openstack.org/332443 - https://review.openstack.org/338193 - https://review.openstack.org/339493 Change-Id: I93f75e43c38d0c304bb4741cbf477fc61dd5776b
2016-07-08 13:36:35 +01:00
[testenv:ansible-syntax]
commands =
bash -c "{toxinidir}/tests/common/test-ansible-syntax.sh"
[testenv:ansible-lint]
commands =
bash -c "{toxinidir}/tests/common/test-ansible-lint.sh"
[testenv:functional]
commands =
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
[testenv:distro_install]
setenv =
{[testenv]setenv}
# The test-swift-functional.yml requires tempest on the swift venv and
# the distro scenario is not ready for that yet.
TEST_PLAYBOOK={toxinidir}/tests/test.yml
ANSIBLE_PARAMETERS=-e @{toxinidir}/tests/common/test-distro_install-vars.yml
commands =
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
Update tox configuration In order to prepare for implementing requirements management by the OpenStack requirements management process, and to improve the reliability and effectiveness of test execution, this patch implements some changes to the tox configuration: - The minimum tox version is increased in order to be able to use constraints for the python packages. - The OpenStack upper-constraints are used when preparing the test venv for the linters checks. - Any proxy environment variables set on the test host are passed into the venv to enable testing from behind a proxy. - The environment variables used by Ansible tests are moved into a new venv called 'ansible' and this environment is inherited by all Ansible-related tests. - The docs test will clean-up an existing build directory before executing the docs build. - The releasenotes build cannot use upper-constraints at this point, so it doesn't. - The Ansible role download will no longer ignore errors so that any problems discovered will result in a failed test. - The human readable logging callback plugin is implemented for functional testing. - The ansible test requirements are moved into tox.ini to ensure compliance for requirements.txt/test-requirements.txt for the global-requirements management contract. - The ~/.ansible directory as a whole is not deleted. Instead only the plugins and roles folders are deleted to ensure that zuul's Ansible artifacts are left in-place. - The ansible-lint version is updated to support execution against a folder, and the test now executes against the entire role to ensure that it captures all applicable files for lint testing. This is a combined port of the following: - https://review.openstack.org/323507 - https://review.openstack.org/338193 - https://review.openstack.org/332443 - https://review.openstack.org/338193 - https://review.openstack.org/339493 Change-Id: I93f75e43c38d0c304bb4741cbf477fc61dd5776b
2016-07-08 13:36:35 +01:00
[testenv:swift3]
setenv =
{[testenv]setenv}
ANSIBLE_PARAMETERS=-e swift_swift3_enabled=True
TEST_PLAYBOOK={toxinidir}/tests/test.yml {toxinidir}/tests/test-swift-functional.yml {toxinidir}/tests/test-swift3-functional.yml
commands =
bash -c "{toxinidir}/tests/common/test-ansible-functional.sh"
[testenv:linters]
commands =
bash -c "{toxinidir}/tests/common/test-ansible-env-prep.sh"
{[testenv:pep8]commands}
{[testenv:bashate]commands}
{[testenv:ansible-lint]commands}
{[testenv:ansible-syntax]commands}