summaryrefslogtreecommitdiffstats
path: root/docs/docsite/rst/dev_guide/testing_compile.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/docsite/rst/dev_guide/testing_compile.rst')
-rw-r--r--docs/docsite/rst/dev_guide/testing_compile.rst76
1 files changed, 76 insertions, 0 deletions
diff --git a/docs/docsite/rst/dev_guide/testing_compile.rst b/docs/docsite/rst/dev_guide/testing_compile.rst
new file mode 100644
index 00000000..5c22194d
--- /dev/null
+++ b/docs/docsite/rst/dev_guide/testing_compile.rst
@@ -0,0 +1,76 @@
+:orphan:
+
+.. _testing_compile:
+
+*************
+Compile Tests
+*************
+
+.. contents:: Topics
+
+Overview
+========
+
+Compile tests check source files for valid syntax on all supported python versions:
+
+- 2.4 (Ansible 2.3 only)
+- 2.6
+- 2.7
+- 3.5
+- 3.6
+- 3.7
+- 3.8
+- 3.9
+
+NOTE: In Ansible 2.4 and earlier the compile test was provided by a dedicated sub-command ``ansible-test compile`` instead of a sanity test using ``ansible-test sanity --test compile``.
+
+Running compile tests locally
+=============================
+
+Compile tests can be run across the whole code base by doing:
+
+.. code:: shell
+
+ cd /path/to/ansible/source
+ source hacking/env-setup
+ ansible-test sanity --test compile
+
+Against a single file by doing:
+
+.. code:: shell
+
+ ansible-test sanity --test compile lineinfile
+
+Or against a specific Python version by doing:
+
+.. code:: shell
+
+ ansible-test sanity --test compile --python 2.7 lineinfile
+
+For advanced usage see the help:
+
+.. code:: shell
+
+ ansible-test sanity --help
+
+
+Installing dependencies
+=======================
+
+``ansible-test`` has a number of dependencies , for ``compile`` tests we suggest running the tests with ``--local``, which is the default
+
+The dependencies can be installed using the ``--requirements`` argument. For example:
+
+.. code:: shell
+
+ ansible-test sanity --test compile --requirements lineinfile
+
+
+
+The full list of requirements can be found at `test/lib/ansible_test/_data/requirements <https://github.com/ansible/ansible/tree/devel/test/lib/ansible_test/_data/requirements>`_. Requirements files are named after their respective commands. See also the `constraints <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_data/requirements/constraints.txt>`_ applicable to all commands.
+
+
+Extending compile tests
+=======================
+
+If you believe changes are needed to the compile tests please add a comment on the `Testing Working Group Agenda <https://github.com/ansible/community/blob/master/meetings/README.md>`_ so it can be discussed.