##### SUMMARY

Many of the sanity tests used by ansible-test have paths in code and/or configuration that are specific to Ansible. These need to be updated to work with collections as well.

This is related to, but separate from https://github.com/ansible/ansible/issues/59561

##### ISSUE TYPE

Feature Idea

##### COMPONENT NAME

ansible-test

"""Test to verify action plugins have an associated module to provide documentation."""
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import os
import sys
def main():
    """Main entry point."""
    paths = sys.argv[1:] or sys.stdin.read().splitlines()
    module_names = set()
    for path in paths:
        if not path.startswith('lib/ansible/modules/'):
            continue
        name = os.path.splitext(os.path.basename(path))[0]
        if name != '__init__':
            if name.startswith('_'):
                name = name[1:]
            module_names.add(name)
    for path in paths:
        if not path.startswith('lib/ansible/plugins/action/'):
            continue
        name = os.path.splitext(os.path.basename(path))[0]
        if name not in module_names:
            print('%s: action plugin has no matching module to provide documentation' % path)
if __name__ == '__main__':
    main()