5af7c53c05
With this patch, a new pytest optional arg has been added: --skipregex When it is used, tests are skipped when the regex is found in their test names. Fully qualified test names are used for this search. Example: tobiko.tests.unit.test_exception.TestException.test_init It can be used from CLI with pytest like this: $ .tox/py3/bin/pytest \ --skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes' \ tobiko/tests/unit It can be used from CLI with tox like this: $ PYTEST_ADDOPTS="--skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes'" \ TOX_PYTHON=python3.9 \ tox -e py3 It can be used from the Tobiko Infrared plugin by using the following option (limitation: the skipregex is applied to all the steps from the the executed Tobiko workflow): $ infrared tobiko ... --pytest-addopts "--skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes'" It can be used from a zuul job by configuring the following variable within the zuul job yaml file (limitation: the skipregex is applied to all the steps from the executed Tobiko workflow): pytest_addopts_global: "--skipregex='test_join_chunks_.*_bytes|test_join_chunks_with_unicodes'" Change-Id: I8ee32ba467bd70142816953598d1736fa353d3d0
287 lines
10 KiB
Python
287 lines
10 KiB
Python
---
|
|
|
|
config:
|
|
plugin_type: test
|
|
entry_point: main.yaml
|
|
|
|
|
|
subparsers:
|
|
|
|
tobiko:
|
|
description: Deploy, configure and execute Tobiko test cases
|
|
include_groups: ["Ansible options", "Inventory", "Common options", "Answers file"]
|
|
groups:
|
|
|
|
- title: Common options
|
|
options:
|
|
no-become:
|
|
type: Flag
|
|
help: Forbid roles from escalate tasks execution as superuser
|
|
ansible_variable: test_no_become
|
|
|
|
- title: Topology options
|
|
options:
|
|
host:
|
|
type: Value
|
|
help: Target host where test cases are deployed and executed
|
|
ansible_variable: test_host
|
|
|
|
- title: Control flow
|
|
options:
|
|
stage:
|
|
type: Value
|
|
ansible_variable: test_stage
|
|
|
|
- title: Deploy stage
|
|
options:
|
|
clean:
|
|
type: Flag
|
|
help: Cleanup directory where test cases will be downloaded
|
|
ansible_variable: deploy_clean
|
|
git-base:
|
|
type: Value
|
|
help: Git Url prefix where test projects are fetched from
|
|
ansible_variable: git_base
|
|
test-dir:
|
|
type: Value
|
|
help: Test host directory where test cases (and tox.ini file) are found
|
|
ansible_variable: test_dir
|
|
test-user:
|
|
type: Value
|
|
help: Test host user that should own tests directory
|
|
ansible_variable: test_user
|
|
test-group:
|
|
type: Value
|
|
help: Test host user group that should own tests directory
|
|
ansible_variable: test_group
|
|
test-repo:
|
|
type: Value
|
|
help: Git URL from where to download test files
|
|
ansible_variable: test_git_repo
|
|
test-remote:
|
|
type: Value
|
|
help: Git remote name to be used for checking out test scripts
|
|
ansible_variable: test_git_remote
|
|
test-refspec:
|
|
type: Value
|
|
help: Git refspect to be used for checking out test scripts
|
|
ansible_variable: test_git_refspec
|
|
test-src-dir:
|
|
type: Value
|
|
help: Local directory where test cases (and tox.ini file) are found
|
|
ansible_variable: test_src_dir
|
|
tobiko-dir:
|
|
type: Value
|
|
help: Test host directory where Tobiko has to be deployed to
|
|
ansible_variable: tobiko_dir
|
|
tobiko-user:
|
|
type: Value
|
|
help: Test host user that should own Tobiko directory
|
|
ansible_variable: tobiko_user
|
|
tobiko-group:
|
|
type: Value
|
|
help: Test host user group that should own Tobiko directory
|
|
ansible_variable: tobiko_group
|
|
tobiko-repo:
|
|
type: Value
|
|
help: Git URL from where to download tobiko files
|
|
ansible_variable: tobiko_git_repo
|
|
default: 'https://opendev.org/x/tobiko.git'
|
|
tobiko-remote:
|
|
type: Value
|
|
help: Git remote name to be used for checking out test scripts
|
|
ansible_variable: tobiko_git_remote
|
|
tobiko-refspec:
|
|
type: Value
|
|
help: Git refspect to be used for checking out Tobiko scripts
|
|
ansible_variable: tobiko_git_refspec
|
|
tobiko-src-dir:
|
|
type: Value
|
|
help: Local directory where tobiko scripts are found
|
|
required: yes
|
|
ansible_variable: tobiko_src_dir
|
|
default: '{{ inventory_dir }}/src/tobiko'
|
|
openshift-ir-src-dir:
|
|
type: Value
|
|
help: Local directory where OpenShift InfraRed scripts are deployed from0
|
|
ansible_variable: openshift_infrared_src_dir
|
|
openshift-ir-dir:
|
|
type: Value
|
|
help: Remote directory where OpenShift InfraRed scripts are deployed to
|
|
ansible_variable: openshift_infrared_dir
|
|
openshift-ir-repo:
|
|
type: Value
|
|
help: Git URL from where to download OpenShift InfraRed files
|
|
ansible_variable: openshift_infrared_git_repo
|
|
openshift-ir-remote:
|
|
type: Value
|
|
help: Git remote name to be used for checking out OpenShift InfraRed files
|
|
ansible_variable: openshift_infrared_git_remote
|
|
openshift-ir-refspec:
|
|
type: Value
|
|
help: Git refspect to be used for checking out OpenShift InfraRed files
|
|
ansible_variable: openshift_infrared_git_refspec
|
|
|
|
- title: Configure stage
|
|
options:
|
|
config:
|
|
type: Value
|
|
help: tobiko.conf file location
|
|
ansible_variable: test_conf_file
|
|
debug:
|
|
type: Value
|
|
help: enable/disable verbose log entries in tests results log file
|
|
ansible_variable: test_log_debug
|
|
default: 'true'
|
|
test-case-timeout:
|
|
type: Value
|
|
help: Test case timeout in seconds
|
|
ansible_variable: test_case_timeout
|
|
test-runner-timeout:
|
|
type: Value
|
|
help: Test runner timeout in seconds
|
|
ansible_variable: test_runner_timeout
|
|
undercloud_host:
|
|
type: Value
|
|
help: inventory hostname of the undercloud host
|
|
ansible_variable: undercloud_hostname
|
|
undercloud_ssh_host:
|
|
type: Value
|
|
help: hostname or IP address to be used to connect to undercloud host
|
|
ansible_variable: undercloud_ssh_hostname
|
|
undercloud_ssh_key_filename:
|
|
type: Value
|
|
help: SSH key filename to connect to undercloud host
|
|
ansible_variable: undercloud_ssh_key_filename
|
|
overcloud-ssh-username:
|
|
type: Value
|
|
help: user name to be used to connect to TripleO Overcloud hosts
|
|
ansible_variable: overcloud_ssh_username
|
|
has_external_load_balancer:
|
|
type: Bool
|
|
help: OSP env was done with an external load balancer
|
|
ansible_variable: has_external_load_balancer
|
|
manila-share-protocol:
|
|
type: Value
|
|
help: Protocol used when creating a manila share object
|
|
ansible_variable: manila_share_protocol
|
|
|
|
- title: Run stage
|
|
options:
|
|
workflow:
|
|
type: Value
|
|
help: name of workflow to execute
|
|
ansible_variable: test_workflow
|
|
failfast:
|
|
type: Flag
|
|
help: Stop the test run on the first step error or failure
|
|
ansible_variable: test_failfast
|
|
tox-dir:
|
|
type: Value
|
|
help: directory from where run tox (typically test_dir)
|
|
ansible_variable: tox_dir
|
|
tox-command:
|
|
type: Value
|
|
help: command to be executed for tox (typically tox)
|
|
ansible_variable: tox_command
|
|
tox-environment:
|
|
type: Value
|
|
help: envitonment variables to be set when running test cases
|
|
ansible_variable: tox_environment
|
|
tox-envlist:
|
|
type: Value
|
|
help: Tox environment names to be executed
|
|
ansible_variable: tox_envlist
|
|
tox-extra-args:
|
|
type: Value
|
|
help: extra options to be passed to Tox
|
|
ansible_variable: tox_extra_args
|
|
tox-python:
|
|
type: Value
|
|
help: Python interpreter to be used for executing test cases
|
|
ansible_variable: tox_python
|
|
pytest-addopts:
|
|
type: Value
|
|
help: >
|
|
Extra options to be passed to PyTest. This value is overriden
|
|
when it is defined at workflow level too.
|
|
ansible_variable: pytest_addopts_global
|
|
pytest-markers:
|
|
type: Value
|
|
help: >
|
|
only run tests matching given mark expression.
|
|
For example: --pytest-markers 'mark1 and not mark2'.
|
|
ansible_variable: pytest_markers
|
|
pytest-maxfail:
|
|
type: Value
|
|
help: Max number of test case failures before aborting
|
|
ansible_variable: pytest_maxfail
|
|
run-tests-timeout:
|
|
type: Value
|
|
help: Timeout (in seconds) to interrupt test cases execution
|
|
ansible_variable: tox_run_tests_timeout
|
|
test-report-dir:
|
|
type: Value
|
|
help: directory where to store test report files
|
|
ansible_variable: test_report_dir
|
|
test-report-name:
|
|
type: Value
|
|
help: prefix used to create report file names
|
|
ansible_variable: test_report_name
|
|
test-log-file:
|
|
type: Value
|
|
help: test cases log file
|
|
ansible_variable: test_log_file
|
|
ignore-test-failures:
|
|
type: Flag
|
|
help: Ignore test execution errors
|
|
ansible_variable: ignore_test_failures
|
|
flaky:
|
|
type: Flag
|
|
help: Ignore flaky test cases
|
|
ansible_variable: test_flaky
|
|
quota:
|
|
type: NestedDict
|
|
action: append
|
|
ansible_variable: quota
|
|
help: |
|
|
Configure quota values for different resources
|
|
These quotas will be applied to the admin openstack project
|
|
Example:
|
|
--quota routers=30
|
|
--quota secgroups=50
|
|
Check "openstack quota set --help" for more information
|
|
ceph-rgw:
|
|
type: Bool
|
|
help: Skip Swift containers healthchecks when CephAdm is deployed
|
|
ansible_variable: ceph_rgw
|
|
default: False
|
|
ubuntu-connection-timeout:
|
|
type: Value
|
|
help: |
|
|
Timeout error is raised if a connection to an ubuntu instance
|
|
is not successful before it expires
|
|
ansible_variable: ubuntu_connection_timeout
|
|
ubuntu-is-reachable-timeout:
|
|
type: Value
|
|
help: |
|
|
Timeout error is raised if an ubuntu instance is not reachable
|
|
before it expires
|
|
ansible_variable: ubuntu_is_reachable_timeout
|
|
|
|
|
|
- title: Cleanup stage
|
|
options:
|
|
cleanup-heat-stacks:
|
|
type: Flag
|
|
help: Cleanup heat stacks created by tobiko
|
|
ansible_variable: stacks_cleanup
|
|
|
|
- title: Collect stage
|
|
options:
|
|
collect-dir:
|
|
type: Value
|
|
help: local directory where report files are going to be copied to
|
|
ansible_variable: test_collect_dir
|
|
default: '{{ inventory_dir }}/{{ test_report_name }}'
|