storyboard/doc/source/contributing.rst
Clark Boylan 528469101e Update docs on how to run the tests locally
This adds more up to date documentation on how to run the tests locally.
It recommends the sqlite target for unittests as they are faster but
includes directions for setting up mysql and postgresql for  running the
test suite against production like backends.

Change-Id: I56f6d6b586ec5274943fbef35f635b03bf22c4bd
2019-02-28 16:59:14 -08:00

1.6 KiB

Running the Tests

Storyboard uses tox to manage its unit and functional tests. After installing tox and downloading the storyboard source the next step is to install system dependencies. Run:

$ tox -e bindep

Then take the listed packages and install them with your system package manager. For example:

$ sudo apt-get install package list here

To run the tests quickly on your local development machine you can run the tests with the sqlite backend:

$ tox -e sqlite

And to run the style-checker and static analysis tool:

$ tox -e pep8

If you would like to run the test suite with proper database backends or with python2 instead of python3 there is one more step to follow. Note that the testsuite takes quite a bit longer to run when using the MySQL and PostgreSQL database backends.

First ensure MySQL and PostgreSQL are running (you may need to start these services). Then run the test-setup.sh helper script:

$ tools/test-setup.sh

This script needs to be run with a user that has sudo access. It will configure the databases as needed to run the unittests. You can then runt the unittests with:

$ tox -e py27

or for Python 3:

$ tox -e py35

On slower systems, the database migrations may take longer than the default timeout of 120 seconds. To override the timeout, set the OS_TEST_TIMEOUT environment variable. For example, to set the timeout to 3 minutes, run:

$ OS_TEST_TIMEOUT=180 tox -e py27