mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Add an ast.parse unit test for modules to simulate ansible-doc
This commit is contained in:
parent
07dd02c25a
commit
b0d22b76bd
1 changed files with 30 additions and 0 deletions
30
test/units/TestModules.py
Normal file
30
test/units/TestModules.py
Normal file
|
@ -0,0 +1,30 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import ast
|
||||
import unittest
|
||||
from ansible import utils
|
||||
|
||||
|
||||
class TestModules(unittest.TestCase):
|
||||
|
||||
def list_all_modules(self):
|
||||
paths = utils.plugins.module_finder._get_paths()
|
||||
paths = [x for x in paths if os.path.isdir(x)]
|
||||
module_list = []
|
||||
for path in paths:
|
||||
for (dirpath, dirnames, filenames) in os.walk(path):
|
||||
for filename in filenames:
|
||||
module_list.append(os.path.join(dirpath, filename))
|
||||
return module_list
|
||||
|
||||
def test_ast_parse(self):
|
||||
module_list = self.list_all_modules()
|
||||
ERRORS = []
|
||||
# attempt to parse each module with ast
|
||||
for m in module_list:
|
||||
try:
|
||||
ast.parse(''.join(open(m)))
|
||||
except Exception, e:
|
||||
ERRORS.append((m, e))
|
||||
assert len(ERRORS) == 0, "get_docstring errors: %s" % ERRORS
|
Loading…
Reference in a new issue