Merge "Add developer documentation"
This commit is contained in:
commit
4907ce9a7e
89
doc/source/developing.rst
Normal file
89
doc/source/developing.rst
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
===============================
|
||||||
|
Developing with OpenStackClient
|
||||||
|
===============================
|
||||||
|
|
||||||
|
Testing
|
||||||
|
-------
|
||||||
|
|
||||||
|
Using ``tox``
|
||||||
|
=============
|
||||||
|
|
||||||
|
Before running tests, you should have ``tox`` installed and available in your
|
||||||
|
environment:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ pip install tox
|
||||||
|
|
||||||
|
To execute the full suite of tests maintained within OpenStackClient, run:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ tox
|
||||||
|
|
||||||
|
.. NOTE::
|
||||||
|
|
||||||
|
The first time you run ``tox``, it will take additional time to build
|
||||||
|
virtualenvs. You can later use the ``-r`` option with ``tox`` to rebuild
|
||||||
|
your virtualenv in a similar manner.
|
||||||
|
|
||||||
|
To run tests for one or more specific test environments (for example, the most
|
||||||
|
common configuration of Python 2.7 and PEP-8), list the environments with the
|
||||||
|
``-e`` option, separated by spaces:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ tox -e py27,pep8
|
||||||
|
|
||||||
|
See ``tox.ini`` for the full list of available test environments.
|
||||||
|
|
||||||
|
Running functional tests
|
||||||
|
========================
|
||||||
|
|
||||||
|
OpenStackClient also maintains a set of functional tests that are optimally
|
||||||
|
designed to be run against OpenStack's gate. Optionally, a developer may
|
||||||
|
choose to run these tests against any OpenStack deployment, however depending
|
||||||
|
on the services available, results will vary.
|
||||||
|
|
||||||
|
To run the entire suite of functional tests:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ tox -e functional
|
||||||
|
|
||||||
|
To run a specific functional test:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ tox -e functional -- --regex functional.tests.compute.v2.test_server
|
||||||
|
|
||||||
|
Running with PDB
|
||||||
|
================
|
||||||
|
|
||||||
|
Using PDB breakpoints with ``tox`` and ``testr`` normally doesn't work since
|
||||||
|
the tests fail with a `BdbQuit` exception rather than stopping at the
|
||||||
|
breakpoint.
|
||||||
|
|
||||||
|
To run with PDB breakpoints during testing, use the `debug` ``tox`` environment
|
||||||
|
rather than ``py27``. Here's an example, passing the name of a test since
|
||||||
|
you'll normally only want to run the test that hits your breakpoint:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ tox -e debug opentackclient.tests.identity.v3.test_group
|
||||||
|
|
||||||
|
For reference, the `debug` ``tox`` environment implements the instructions
|
||||||
|
here: https://wiki.openstack.org/wiki/Testr#Debugging_.28pdb.29_Tests
|
||||||
|
|
||||||
|
|
||||||
|
Building the Documentation
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
The documentation is generated with Sphinx using the ``tox`` command. To
|
||||||
|
create HTML docs, run the following:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ tox -e docs
|
||||||
|
|
||||||
|
The resultant HTML will be the ``doc/build/html`` directory.
|
@ -6,7 +6,8 @@ OpenStackClient (aka OSC) is a command-line client for OpenStack that
|
|||||||
brings the command set for Compute, Identity, Image, Object Store and Volume
|
brings the command set for Compute, Identity, Image, Object Store and Volume
|
||||||
APIs together in a single shell with a uniform command structure.
|
APIs together in a single shell with a uniform command structure.
|
||||||
|
|
||||||
Contents:
|
User Documentation
|
||||||
|
------------------
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
@ -29,6 +30,13 @@ Getting Started
|
|||||||
* Read the source `on OpenStack's Git server`_
|
* Read the source `on OpenStack's Git server`_
|
||||||
* Install OpenStackClient from `PyPi`_ or a `tarball`_
|
* Install OpenStackClient from `PyPi`_ or a `tarball`_
|
||||||
|
|
||||||
|
Developer Documentation
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
developing
|
||||||
|
|
||||||
Project Goals
|
Project Goals
|
||||||
-------------
|
-------------
|
||||||
|
Loading…
Reference in New Issue
Block a user