Each integration test must have an aliases
file to control test execution.
If the tests cannot be run as part of CI (requires external services, unsupported dependencies, etc.),
then they most likely belong in test/integration/roles/
instead of test/integration/targets/
.
In that case, do not add an aliases
file. Instead, just relocate the tests.
In some cases tests requiring external resources can be run as a part of CI. This is often true when those resources can be provided by a docker container.
However, if you think that the tests should be able to be supported by CI, please discuss test organization with @mattclay or @gundalow on GitHub or #ansible-devel on IRC.
If the tests can be run as part of CI, you’ll need to add an appropriate CI alias, such as:
posix/ci/group1
windows/ci/group2
The CI groups are used to balance tests across multiple jobs to minimize test run time.
Using the relevant group1
entry is fine in most cases. Groups can be changed later to redistribute tests.
Aliases can also be used to express test requirements:
needs/privileged
needs/root
needs/ssh
Other aliases are used to skip tests under certain conditions:
skip/freebsd
skip/osx
skip/python3
Take a look at existing aliases
files to see what aliases are available and how they’re used.