mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-08 06:12:51 +00:00
Docs how to test (2nd) (#24094)
* Big testing doc refactor * Combine all the testing documentation in to one place to make it easier to find * Convert everything to RST * Create testing_network guide * Create testing landing page * For each section detail "how to run" and "how to extend testing" * More examples * Lots more detail
This commit is contained in:
75
docs/docsite/rst/dev_guide/testing_sanity.rst
Normal file
75
docs/docsite/rst/dev_guide/testing_sanity.rst
Normal file
@@ -0,0 +1,75 @@
|
||||
************
|
||||
Sanity Tests
|
||||
************
|
||||
|
||||
.. contents:: Topics
|
||||
|
||||
Sanity tests are made up of scripts and tools used to perform static code analysis.
|
||||
The primary purpose of these tests is to enforce Ansible coding standards and requirements.
|
||||
|
||||
Tests are run with ``ansible-test sanity``.
|
||||
All available tests are run unless the ``--test`` option is used.
|
||||
|
||||
Available Tests
|
||||
===============
|
||||
|
||||
Tests can be listed with ``ansible-test sanity --list-tests``.
|
||||
|
||||
This list is a combination of two different categories of tests, "Code Smell" and "Built-in".
|
||||
|
||||
Code Smell Tests
|
||||
----------------
|
||||
|
||||
Miscellaneous `scripts <https://github.com/ansible/ansible/tree/devel/test/sanity/code-smell/>`_ used for enforcing coding standards and requirements, identifying trip hazards, etc.
|
||||
|
||||
These tests are listed and accessed by script name. There is no actual test named ``code-smell``.
|
||||
|
||||
All executable scripts added to the ``code-smell`` directory are automatically detected and executed by ``ansible-test``.
|
||||
|
||||
Scripts in the directory which fail can be skipped by adding them to `skip.txt <https://github.com/ansible/ansible/blob/devel/test/sanity/code-smell/skip.txt>`_.
|
||||
This is useful for scripts which identify issues that have not yet been resolved in the code base.
|
||||
|
||||
Files tested are specific to the individual test scripts and are not affected by command line arguments.
|
||||
|
||||
Built-in Tests
|
||||
--------------
|
||||
|
||||
These tests are integrated directly into ``ansible-test``.
|
||||
All files relevant to each test are tested unless specific files are specified.
|
||||
|
||||
A full list of tests can be obtained by doing ``ansible-test sanity --list-tests``.
|
||||
|
||||
ansible-doc
|
||||
~~~~~~~~~~~
|
||||
|
||||
Verifies that ``ansible-doc`` can parse module documentation on all supported python versions.
|
||||
|
||||
pep8
|
||||
~~~~
|
||||
|
||||
Python static analysis for PEP 8 style guideline compliance. See :doc:`testing_pep8` for more information.
|
||||
|
||||
pylint
|
||||
~~~~~~
|
||||
|
||||
Python static analysis for common programming errors.
|
||||
|
||||
rstcheck
|
||||
~~~~~~~~
|
||||
|
||||
Check reStructuredText files for syntax and formatting issues.
|
||||
|
||||
shellcheck
|
||||
~~~~~~~~~~
|
||||
|
||||
Static code analysis for shell scripts using the excellent `shellcheck <https://www.shellcheck.net/>`_ tool.
|
||||
|
||||
validate-modules
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
Analyze modules for common issues in code and documentation. See :doc:`testing_validate-modules` for more information.
|
||||
|
||||
yamllint
|
||||
~~~~~~~~
|
||||
|
||||
Check YAML files for syntax and formatting issues.
|
||||
Reference in New Issue
Block a user