aboutsummaryrefslogtreecommitdiffstats
path: root/docs/developer/testing-nfvbench.rst
diff options
context:
space:
mode:
authorGwenael Lambrouin <gwenael.lambrouin@orange.com>2023-02-08 13:20:45 +0100
committerGwenael Lambrouin <gwenael.lambrouin@orange.com>2023-02-08 13:20:59 +0100
commitb33d3b4bc7ae7113ffca9b049eef1be172e22d29 (patch)
tree8942a41eaf36dcae30147f3bae80669647e79567 /docs/developer/testing-nfvbench.rst
parent1e6a2788ca3118885c64276dc862f98d53d4ac99 (diff)
docs: refresh & structure overhaul
Rework the doc in order to improve the navigation experience and to make it easier to update the doc: - simplify structure: docs/{release-notes,user,developer} - recreate sphinx config file - switch theme from opnfv to piccolo - fix minor rst issues - fix external references - add missing license headers (add a short header with copyright and SPDX license identifier to the files lacking the information. The header is based on https://github.com/david-a-wheeler/spdx-tutorial) Change-Id: I9a1135a2873d9955beb26760e0cb6c5d6c1326bd Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
Diffstat (limited to 'docs/developer/testing-nfvbench.rst')
-rw-r--r--docs/developer/testing-nfvbench.rst89
1 files changed, 89 insertions, 0 deletions
diff --git a/docs/developer/testing-nfvbench.rst b/docs/developer/testing-nfvbench.rst
new file mode 100644
index 0000000..799f8a6
--- /dev/null
+++ b/docs/developer/testing-nfvbench.rst
@@ -0,0 +1,89 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+
+================
+Testing NFVbench
+================
+
+tox
+===
+
+NFVbench project uses `tox`_ to orchestrate the testing of the code base:
+
+* run unit tests
+* check code style
+* run linter
+* check links in the docs
+
+In addition to testing, tox is also used to generate the documentation in HTML
+format.
+
+What tox should do is specified in a ``tox.ini`` file located at the project root.
+
+tox is used in continuous integration (jenkins-ci today, gitlab-ci in the near
+future): all the actions performed by tox must succeed before a patchset can be
+merged. As a developer, it is also useful to run tox locally to detect and fix
+the issues before pushing the code for review.
+
+.. _tox: https://tox.wiki/en/latest/
+
+
+
+Using tox on a developer's machine
+==================================
+
+Requirement: |python-version|
+-----------------------------
+
+.. |python-version| replace:: Python 3.6
+
+The current version of Python used by NFVbench is |python-version|. In
+particular, this means that |python-version| is used:
+
+* by tox in CI
+* in nfvbench Docker image
+* in nfvbench traffic generator VM image
+
+|python-version| is needed to be able to run tox locally. If it is not
+available through the package manager, it can be installed using `pyenv`_. In
+that case, it will also be necessary to install the `pyenv-virtualenv`_ plugin.
+Refer to the documentation of those projects for installation instructions.
+
+.. _pyenv: https://github.com/pyenv/pyenv
+.. _pyenv-virtualenv: https://github.com/pyenv/pyenv-virtualenv
+
+
+tox installation
+----------------
+
+Install tox with::
+
+ $ pip install tox tox-pip-version
+
+
+Running tox
+-----------
+
+In nfvbench root directory, simply run tox with::
+
+ $ tox
+
+If all goes well, tox shows a green summary such as::
+
+ py36: commands succeeded
+ pep8: commands succeeded
+ lint: commands succeeded
+ docs: commands succeeded
+ docs-linkcheck: commands succeeded
+ congratulations :)
+
+It is possible to run only a subset of tox *environments* with the ``-e``
+command line option. For instance, to check the code style only, do::
+
+ $ tox -e pep8
+
+Each tox *environment* uses a dedicated python virtual environment. The
+``-r`` command line option can be used to force the recreation of the virtual
+environment(s). For instance::
+
+ $ tox -r