e9ac0f4074
refer to: https://docs.openstack.org/contributor-guide/writing-style/ \ code-conventions.html Change-Id: Ib32db515b19ab6525a82609d955541fcf072ac64
75 lines
2.1 KiB
ReStructuredText
75 lines
2.1 KiB
ReStructuredText
..
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
not use this file except in compliance with the License. You may obtain
|
|
a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
License for the specific language governing permissions and limitations
|
|
under the License.
|
|
|
|
==============
|
|
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/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
|