diff --git a/docs/docsite/rst/dev_guide/testing_validate-modules.rst b/docs/docsite/rst/dev_guide/testing_validate-modules.rst index 31359e181f..1c8ee2f86a 100644 --- a/docs/docsite/rst/dev_guide/testing_validate-modules.rst +++ b/docs/docsite/rst/dev_guide/testing_validate-modules.rst @@ -104,6 +104,7 @@ Errors Arguments with a default should not be marked as required 318 Module deprecated, but DOCUMENTATION.deprecated is missing 319 ``RETURN`` fragments missing or invalid + 320 ``DOCUMENTATION.options`` must be a dictionary/hash when used .. --------- ------------------- **4xx** **Syntax** diff --git a/test/sanity/validate-modules/main.py b/test/sanity/validate-modules/main.py index f3f41df35a..5909dc7b3c 100755 --- a/test/sanity/validate-modules/main.py +++ b/test/sanity/validate-modules/main.py @@ -814,12 +814,11 @@ class ModuleValidator(Validator): msg='Unknown DOCUMENTATION error, see TRACE' ) - if 'options' in doc and doc['options'] is None and doc.get('extends_documentation_fragment'): + if 'options' in doc and doc['options'] is None: self.reporter.error( path=self.object_path, - code=304, - msg=('DOCUMENTATION.options must be a dictionary/hash when used ' - 'with DOCUMENTATION.extends_documentation_fragment') + code=320, + msg='DOCUMENTATION.options must be a dictionary/hash when used', ) if self.object_name.startswith('_') and not os.path.islink(self.object_path): @@ -980,7 +979,7 @@ class ModuleValidator(Validator): with CaptureStd(): try: existing_doc, _, _, _ = get_docstring(self.base_module, verbose=True) - existing_options = existing_doc.get('options', {}) + existing_options = existing_doc.get('options', {}) or {} except AssertionError: fragment = doc['extends_documentation_fragment'] self.reporter.warning( @@ -1010,7 +1009,7 @@ class ModuleValidator(Validator): except ValueError: mod_version_added = StrictVersion('0.0') - options = doc.get('options', {}) + options = doc.get('options', {}) or {} should_be = '.'.join(ansible_version.split('.')[:2]) strict_ansible_version = StrictVersion(should_be)