# Running the Tests

Aodh includes an extensive set of automated unit tests which are run through tox.

1. Install `tox`:

       $ sudo pip install tox

2. On Ubuntu install `libmysqlclient-dev` packages:

       $ sudo apt-get install libmysqlclient-dev

   For Fedora20 there is no `libmysqlclient-dev` package, so you’ll need to install `mariadb-devel.x86-64` (or `mariadb-devel.i386`) instead:

       $ sudo yum install mariadb-devel.x86_64

3. Run the unit and code-style tests:

       $ cd /opt/stack/aodh
       $ tox -e py27,pep8

   As tox is a wrapper around testr, it also accepts the same flags as testr. See the testr documentation for details about these additional flags.

   Use a double hyphen to pass options to testr. For example, to run only tests under tests/functional/api/v2:

       $ tox -e py27 -- functional.api.v2

   To debug tests (ie. break into pdb debugger), you can use ‘’debug’’ tox environment. Here’s an example, passing the name of a test since you’ll normally only want to run the test that hits your breakpoint:

       $ tox -e debug aodh.tests.unit.test_bin

   For reference, the `debug` tox environment implements the instructions here: https://wiki.openstack.org/wiki/Testr#Debugging_.28pdb.29_Tests

4. There is a growing suite of tests which use a tool called gabbi to test and validate the behavior of the Aodh API. These tests are run when using the usual `functional` tox target but if desired they can be run by themselves:

       $ tox -e gabbi

   The YAML files used to drive the gabbi tests can be found in `aodh/tests/functional/gabbi/gabbits`. If you are adding to or adjusting the API you should consider adding tests here.

See also

- tox

this page last updated: 2026-08-15 16:35:58

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug