Compile Tests

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:

cd /path/to/ansible/source
source hacking/env-setup
ansible-test sanity --test compile

Against a single file by doing:

ansible-test sanity --test compile lineinfile

Or against a specific Python version by doing:

ansible-test sanity --test compile --python 2.7 lineinfile

For advanced usage see the help:

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:

ansible-test sanity --test compile --requirements lineinfile

The full list of requirements can be found at test/lib/ansible_test/_data/requirements. Requirements files are named after their respective commands. See also the constraints 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 so it can be discussed.