d0dc1e46f1
As get-pip.py evolves based on pip 10, while we're still using pip 9, changes in the way it can be used are causing problems. For example, the ability to use --download is no longer there. As such, let's pin to a known good version and leave it at that until we no longer need to use this script. Version 3.2 maps to pip 7.1.2 which fulfills our needs. Change-Id: I43ee210311daf206bd7586eaf8592809d8c38678
2.1 KiB
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 libmysqlclient-dev build-essential python-dev \
python3.5-dev git libssl-dev libffi-dev \
python-gdbm
Install pip:
curl -s https://bootstrap.pypa.io/3.2/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