Chapter 5. Using ostestr to Run Tempest
Ostestr is an OpenStack wrapper for the testr test runner.
You can view a list of the available tests:
$ ostestr -l
NoteBefore running tests, you can use
tempest cleanup --init-saved-stateto capture the current state. This will make cleanup easier. For more information see Chapter 6, Cleaning Tempest Resources.You can run specific tests using
ostestr.To run just one test, use:
ostestr --regex '(test_regex)'
To run multiple tests:
ostestr --regex '(test1|test2|test3)'
5.1. Running Smoke Tests
Smoke testing is a type of preliminary testing which only covers the most important functionality. While they are not comprehensive, running smoke tests can save time if they do identify a problem.
To run the smoke tests:
$ ostestr --regex '(.*smoke)'
5.2. Running Specific Tests Using Whitelist Files
A whitelist file contains specific tests to include.
Create a
whitelist.txtfile in your tempest workspace:$ touch whitelist.txt
Append all the tests you want to run to the
whitelist.txtfile:$ cat whitelist.txt keystone_tempest_plugin.* networking_bgpvpn_tempest.tests*
Run those tests using
ostestr:$ ostestr -w <path to whitelist tests file>
5.3. Skipping Tests Using Blacklist Files
A blacklist file contains a list of tests to exclude.
Create a
skip_test.txtfile in your tempest workspace:$ touch skip_test.txt
Append all the tests to skip to the
skip_test.txtfile.$ cat skip_test.txt keystone_tempest_plugin.* networking_bgpvpn_tempest.tests*
Run tests using
ostestr:$ ostestr -b <path to skip test file>
You can run specific tests by skipping the listed tests:
ostestr --regex '(tempest.api.object_storage) -b <path to skip test file>
5.4. Running Tests in Parallel Concurrently, or Serially
Run the tests in series:
$ ostestr --serial
Run the tests in parallel (this is the default):
$ ostestr --parallel
Specify the number of workers to use when running tests in parallel:
$ ostestr --concurrency _<workers>_
Alternatively:
$ ostestr -c _<workers>_
By default, this is set to the number of CPUs.
