mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
.. | ||
__init__.py | ||
module_args.py | ||
README.rst | ||
schema.py | ||
utils.py | ||
validate-modules |
ansible-testing =============== Python module to help test or validate Ansible, specifically ansible modules Installation ------------ This module must be installed alongside the current development release of Ansible to appropriately test the current development state of modules. Usage ~~~~~ :: pip install git+https://github.com/ansible/ansible.git@devel#egg=ansible pip install git+https://github.com/sivel/ansible-testing.git#egg=ansible_testing ansible-validate-modules /path/to/ansible-modules-extras Help ~~~~ :: usage: ansible-validate-modules [-h] [-w] [--exclude EXCLUDE] modules positional arguments: modules Path to module or module directory optional arguments: -h, --help show this help message and exit -w, --warnings Show warnings --exclude EXCLUDE RegEx exclusion pattern Current Validations ------------------- Modules ~~~~~~~ Errors ^^^^^^ #. Interpreter line is not ``#!/usr/bin/python`` #. ``main()`` not at the bottom of the file #. Module does not import ``ansible.module_utils.basic`` #. Missing ``DOCUMENTATION`` #. Documentation is invalid YAML #. Invalid schema for ``DOCUMENTATION`` #. Missing ``EXAMPLES`` #. Invalid Python Syntax #. Tabbed indentation #. Use of ``sys.exit()`` instead of ``exit_json`` or ``fail_json`` #. Missing GPLv3 license header in module #. Powershell module missing ``WANT_JSON`` #. Powershell module missing ``POWERSHELL_COMMON`` #. New modules have the correct ``version_added`` #. New arguments have the correct ``version_added`` #. Modules should not import requests, instead use ``ansible.module_utils.urls`` #. Missing ``RETURN`` for new modules Warnings ^^^^^^^^ #. Try/Except ``HAS_`` expression missing #. Missing ``RETURN`` for existing modules #. ``import json`` found #. Module contains duplicate globals from basic.py Module Directories (Python Packages) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #. Missing ``__init__.py``