Sanity Tests
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.
Set up your environment
- Install ansible-core that provides the - ansible-testtool.
If you want to run checks available in the development version of
ansible-core, install it from source code.
Run
source hacking/env-setupfrom its source code directory in the same terminal session you run your tests.
- Install - podmanor- dockerto avoid installing all the dependencies on your system.
- If you test files in a collection: 
Ensure you have your collection installed in the following path in your home directory:
~/ansible_collections/<NAMESPACE>/<COLLECTION_NAME>. For instance, in case of thecommunity.generalcollection, it will be~/ansible_collections/community/general
If your collection is hosted on a remote server such as GitHub, clone it to that path as follows:
git clone <COLLECTION_REPO_URL> ~/ansible_collections/<NAMESPACE>/<COLLECTION_NAME>
How to run
Note
To run sanity tests using podman or docker, always use the default docker image
by passing the --docker argument without specifying the image name.
- When testing files in a collection, change your location to your collection directory you created while setting up your environment: 
cd ~/ansible_collections/<NAMESPACE>/<COLLECTION_NAME>
- To run all sanity tests in a container: 
ansible-test sanity --docker
- To run a specific test, add the - --test <NAME>argument, for example,- --test validate-modules.- To list available tests, run: - ansible-test sanity --list-tests
 
- To include disabled tests, add the - --allow-disabledargument.
Available Tests
See the full list of sanity tests, which also details how to fix identified issues.
