
This was removed a few years ago. Change-Id: I8011d652c1f3527b6c5e75b3c3cb1051cfe9bbbe Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
3.0 KiB
Testing
The tests are run with tox and configured in
tox.ini
. The test results are tracked by testr and
configured in .testr.conf
.
Unit Tests
Run
In order to run the entire unit test suite, simply run the
tox
command inside of your source checkout. This will
attempt to run every test command listed inside of tox.ini
,
which includes Python 3.8, and a PEP 8 check. You should run the full
test suite on all versions before submitting changes for review in order
to avoid unexpected failures in the continuous integration system.:
(sdk3)$ tox
...
py38: commands succeeded
pep8: commands succeeded
congratulations :)
During development, it may be more convenient to run a subset of the tests to keep test time to a minimum. You can choose to run the tests only on one version. A step further is to run only the tests you are working on.:
(sdk3)$ tox -e py38 # Run run the tests on Python 3.8
(sdk3)$ tox -e py38 TestContainer # Run only the TestContainer tests on 3.8
Functional Tests
The functional tests assume that you have a public or private OpenStack cloud that you can run the tests against. The tests must be able to be run against public clouds but first and foremost they must be run against OpenStack. In practice, this means that the tests should initially be run against a stable branch of DevStack.
os-client-config
To connect the functional tests to an OpenStack cloud we use os-client-config.
To setup os-client-config create a clouds.yaml
file in the
root of your source checkout.
This is an example of a minimal configuration for a
clouds.yaml
that connects the functional tests to a
DevStack instance. Note that one cloud under clouds
must be
named test_cloud
.
clouds.yaml
Replace xxx.xxx.xxx.xxx
with the IP address or FQDN of
your DevStack instance.
You can also create a ~/.config/openstack/clouds.yaml
file for your DevStack cloud environment using the following commands.
Replace DEVSTACK_SOURCE
with your DevStack source
checkout.:
(sdk3)$ source DEVSTACK_SOURCE/accrc/admin/admin
(sdk3)$ ./create_yaml.sh
Run
Functional tests are run against both Python 2 and 3. In order to run
the entire functional test suite, run the tox -e functional
and tox -e functional3
command inside of your source
checkout. This will attempt to run every test command under
/openstack/tests/functional/
in the source tree. You should
run the full functional test suite before submitting changes for review
in order to avoid unexpected failures in the continuous integration
system.:
(sdk3)$ tox -e functional
...
functional: commands succeeded
congratulations :)
(sdk3)$ tox -e functional3
...
functional3: commands succeeded
congratulations :)