- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# Compile Tests

Topics

- Compile Tests

  - Overview

  - Running compile tests locally

  - Installing dependencies

  - Extending 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

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/runner/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.