diff --git a/test/sanity/validate-modules/README.md b/test/sanity/validate-modules/README.md new file mode 100644 index 00000000000..a5dcb82e4aa --- /dev/null +++ b/test/sanity/validate-modules/README.md @@ -0,0 +1,62 @@ +# validate-modules + +Python program to help test or validate Ansible modules. + +Originally developed by Matt Martz (@sivel) + +## Usage + +```shell +cd /path/to/ansible/source +source hacking/env-setup +test/sanity/validate-modules/validate-modules /path/to/modules +``` + +## Help + +```shell +usage: 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` diff --git a/test/sanity/validate-modules/README.rst b/test/sanity/validate-modules/README.rst deleted file mode 100644 index aab8ee5eb1e..00000000000 --- a/test/sanity/validate-modules/README.rst +++ /dev/null @@ -1,72 +0,0 @@ -validate-modules -=============== - -Python program to help test or validate Ansible modules. - - -Originally developed by Matt Martz (@sivel) - -Usage -~~~~~ - -:: - # If you are running Ansible from source - source /path/to/ansible/hacking/env-setup - - validate-modules /path/to/ansible-modules-extras - -Help -~~~~ - -:: - - usage: 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`` -