Files
zun/doc/source/contributor/unit-tests.rst
Madhuri Kumari 6e48d31a72 Move the contributor related docs to contributor/ dir
Change-Id: I79d168e60758722af4c9c4a0df69efb1728e3bd6
Depends-On: Ia750cb049c0f53a234ea70ce1f2bbbb7a2aa9454
Partial-Bug: #1703442
2017-07-14 10:21:18 +05:30

2.1 KiB

Run unit tests

This is a guide for developers who want to run unit tests in their local machine.

Prerequisite

Install OS-specific prerequisites:

# Ubuntu/Debian (recommend Ubuntu 16.04):
sudo apt-get update
sudo apt-get install -y libmysqlclient-dev build-essential python-dev \
                        python3.5-dev git libssl-dev libffi-dev \
                        python-gdbm

Install pip:

curl -s https://bootstrap.pypa.io/get-pip.py | sudo python

Install common prerequisites:

sudo pip install virtualenv flake8 tox testrepository git-review os-testr

You may need to explicitly upgrade virtualenv if you've installed the one from your OS distribution and it is too old (tox will complain). You can upgrade it individually, if you need to:

sudo pip install -U virtualenv

Zun source code should be pulled directly from git:

# from your home or source directory
cd ~
git clone https://git.openstack.org/openstack/zun
cd zun

Running the tests

All unit tests should be run using tox. To run Zun's entire test suite:

# run all tests (unit and pep8)
tox

To run a specific test, use a positional argument for the unit tests:

# run a specific test for Python 2.7
tox -epy27 -- test_container

You may pass options to the test programs using positional arguments:

# run all the Python 2.7 unit tests (in parallel!)
tox -epy27 -- --parallel

To run only the pep8/flake8 syntax and style checks:

tox -epep8