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-test
tool.
If you want to run checks available in the development version of
ansible-core
, install it from source code.
Run
source hacking/env-setup
from its source code directory in the same terminal session you run your tests.
Install
podman
ordocker
to 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.general
collection, 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-disabled
argument.
Available Tests
See the full list of sanity tests, which also details how to fix identified issues.