50 lines
1.4 KiB
Plaintext
50 lines
1.4 KiB
Plaintext
Heat testing
|
|
------------
|
|
|
|
All tests are to be placed in the heat/tests directory. The directory
|
|
is organized by test type (unit, functional, etc). Within each type
|
|
directory one may create another directory for additional test files as
|
|
well as a separate __init__.py, which should be blank.
|
|
|
|
An example directory structure illustrating the above:
|
|
|
|
heat/tests
|
|
|-- examples
|
|
| |-- __init__.py
|
|
| |-- test1.py
|
|
| |-- test2.py
|
|
| |-- test3.py
|
|
|-- __init__.py
|
|
`-- unit
|
|
|-- __init__.py
|
|
|-- test_template_convert.py
|
|
|
|
If a given test has no overlapping requirements (variables or same
|
|
routines) a new test does not need to create a subdirectory under the
|
|
test type.
|
|
|
|
Implementing a test
|
|
-------------------
|
|
|
|
Testrepository - http://pypi.python.org/pypi/testrepository is used to
|
|
find and run tests, parallelize their runs, and record timing/results.
|
|
|
|
If new dependencies are introduced upon the development of a test, the
|
|
tools/test-requires file needs to be updated so that the virtual
|
|
environment will be able to successfully execute all tests.
|
|
|
|
Running the tests
|
|
-----------------
|
|
|
|
During development, the simplest way to run tests is to simply invoke
|
|
testr directly.
|
|
|
|
$ testr run
|
|
|
|
To run the tests with a clean virtual env in the same manner as the
|
|
OpenStack testing infrastructure does so, use tox.
|
|
|
|
$ tox -epy27 # test suite on python 2.7
|
|
$ tox -epy26 # test suite on python 2.6
|
|
$ tox -epep8 # run full source code checker
|