aboutsummaryrefslogtreecommitdiffstats
path: root/docs/testing/developer/devguide
diff options
context:
space:
mode:
Diffstat (limited to 'docs/testing/developer/devguide')
-rw-r--r--docs/testing/developer/devguide/api.rst11
-rw-r--r--docs/testing/developer/devguide/arch.rst6
-rw-r--r--docs/testing/developer/devguide/cli.rst11
-rw-r--r--docs/testing/developer/devguide/index.rst6
-rw-r--r--docs/testing/developer/devguide/overview.rst102
5 files changed, 100 insertions, 36 deletions
diff --git a/docs/testing/developer/devguide/api.rst b/docs/testing/developer/devguide/api.rst
index 48ae3ae4..491c70f8 100644
--- a/docs/testing/developer/devguide/api.rst
+++ b/docs/testing/developer/devguide/api.rst
@@ -1,9 +1,10 @@
-**********************************************
-QTIP RESTful Application Programming Interface
-**********************************************
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
-Abstract
-########
+
+***************************************
+API - Application Programming Interface
+***************************************
QTIP consists of different tools(metrics) to benchmark the NFVI. These metrics
fall under different NFVI subsystems(QPI's) such as compute, storage and network.
diff --git a/docs/testing/developer/devguide/arch.rst b/docs/testing/developer/devguide/arch.rst
index d95faba6..6b9208e9 100644
--- a/docs/testing/developer/devguide/arch.rst
+++ b/docs/testing/developer/devguide/arch.rst
@@ -3,9 +3,9 @@
.. (c) 2017 ZTE Corp.
-########################
-QTIP Architecture Design
-########################
+************
+Architecture
+************
In Danube, QTIP releases its standalone mode, which is also know as ``solo``:
diff --git a/docs/testing/developer/devguide/cli.rst b/docs/testing/developer/devguide/cli.rst
index 72d1fbaf..7c681a64 100644
--- a/docs/testing/developer/devguide/cli.rst
+++ b/docs/testing/developer/devguide/cli.rst
@@ -1,9 +1,10 @@
-***************************
-QTIP Command Line Interface
-***************************
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
-Abstract
-########
+
+****************************
+CLI - Command Line Interface
+****************************
QTIP consists of different tools(metrics) to benchmark the NFVI. These metrics fall under different NFVI
subsystems(QPI's) such as compute, storage and network. A plan consists of one or more QPI's, depending upon how
diff --git a/docs/testing/developer/devguide/index.rst b/docs/testing/developer/devguide/index.rst
index 89113e56..a4dd072c 100644
--- a/docs/testing/developer/devguide/index.rst
+++ b/docs/testing/developer/devguide/index.rst
@@ -3,9 +3,9 @@
.. (c) 2016 ZTE Corp.
-##########################
-QTIP Design Specifications
-##########################
+********************
+QTIP Developer Guide
+********************
.. toctree::
:maxdepth: 2
diff --git a/docs/testing/developer/devguide/overview.rst b/docs/testing/developer/devguide/overview.rst
index 4ccaae20..1d7e22fe 100644
--- a/docs/testing/developer/devguide/overview.rst
+++ b/docs/testing/developer/devguide/overview.rst
@@ -1,27 +1,89 @@
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
-.. (c) 2017 ZTE Corp.
+.. (c) 2017 ZTE Corporation
-########
+********
Overview
-########
-
-QTIP uses Python as primary programming language. The structure of repository is based on the recommended sample in
-`The Hitchhiker's Guide to Python`_
-
-============== ==========================================================================
-Path Content
-============== ==========================================================================
-./benchmarks/ builtin benchmark assets including plan, QPI and metrics
-./contrib/ independent project/plugin/code contributed to QTIP
-./docker/ configuration for building Docker image for QTIP deployment
-./docs/ release notes, user and developer documentation, design proposals
-./legacy/ legacy obsoleted code that is unmaintained but kept for reference
-./opt/ optional component, e.g. scripts to setup infrastructure services for QTIP
-./qtip/ the actual package
-./tests/ package functional and unit tests
-./third-party/ third part included in QTIP project
-============== ==========================================================================
+********
+QTIP uses Python as primary programming language and build the framework from the following packages
+
+======== ===============================================================================================================
+Module Package
+======== ===============================================================================================================
+api `Connexion`_ - API first applications with OpenAPI/Swagger and Flask
+cli `Click`_ - the “Command Line Interface Creation Kit”
+template `Jinja2`_ - a full featured template engine for Python
+docs `sphinx`_ - a tool that makes it easy to create intelligent and beautiful documentation
+testing `pytest`_ - a mature full-featured Python testing tool that helps you write better programs
+======== ===============================================================================================================
+
+
+Source Code
+===========
+
+The structure of repository is based on the recommended sample in `The Hitchhiker's Guide to Python`_
+
+================== ====================================================================================================
+Path Content
+================== ====================================================================================================
+``./benchmarks/`` builtin benchmark assets including plan, QPI and metrics
+``./contrib/`` independent project/plugin/code contributed to QTIP
+``./docker/`` configuration for building Docker image for QTIP deployment
+``./docs/`` release notes, user and developer documentation, design proposals
+``./legacy/`` legacy obsoleted code that is unmaintained but kept for reference
+``./opt/`` optional component, e.g. scripts to setup infrastructure services for QTIP
+``./qtip/`` the actual package
+``./tests/`` package functional and unit tests
+``./third-party/`` third part included in QTIP project
+================== ====================================================================================================
+
+
+Coding Style
+============
+
+QTIP follows `OpenStack Style Guidelines`_ for source code and commit message.
+
+Specially, it is recommended to link each patch set with a JIRA issue. Put::
+
+ JIRA: QTIP-n
+
+in commit message to create an automatic link.
+
+
+Testing
+=======
+
+All testing related code are stored in ``./tests/``
+
+================== ====================================================================================================
+Path Content
+================== ====================================================================================================
+``./tests/data/`` data fixtures for testing
+``./tests/unit/`` unit test for each module, follow the same layout as ./qtip/
+``./conftest.py`` pytest configuration in project scope
+================== ====================================================================================================
+
+`tox`_ is used to automate the testing tasks
+
+.. code-block:: shell
+
+ cd <project_root>
+ pip install tox
+ tox
+
+The test cases are written in `pytest`_. You may run it selectively with
+
+.. code-block:: shell
+
+ pytest tests/unit/reporter
+
+.. _Connexion: https://pypi.python.org/pypi/connexion/
+.. _Click: http://click.pocoo.org/
+.. _Jinja2: http://jinja.pocoo.org/
+.. _OpenStack Style Guidelines: http://docs.openstack.org/developer/hacking/
+.. _pytest: http://doc.pytest.org/
+.. _sphinx: http://www.sphinx-doc.org/en/stable/
.. _The Hitchhiker's Guide to Python: http://python-guide-pt-br.readthedocs.io/en/latest/writing/structure/
+.. _tox: https://tox.readthedocs.io/