##### SUMMARY

Support collection roles as integration test targets.

Now that https://github.com/ansible/ansible/issues/59462 has been merged, ansible-test can be updated to support running integration test targets that are collection roles.

The planned convention is to look for targets under `roles/test/` and allow use of target-specific plugins from `plugins/{plugin_type}/test/{target_name}/`.

##### ISSUE TYPE

Feature Idea

##### COMPONENT NAME

ansible-test

##### ADDITIONAL INFORMATION

This will allow integration test targets to be written using collections instead of pre-collection roles.
"""Return a list of file paths found recursively under the given directory."""
        if include_symlinked_directories:
            tree = self.__paths_tree
        else:
            tree = self.__files_tree
        parts = directory.rstrip(os.sep).split(os.sep)
        item = get_tree_item(tree, parts)
        if not item:
            return []
        directories = collections.deque(item[0].values())
        files = list(item[1])
        while directories:
            item = directories.pop()
            directories.extend(item[0].values())
            files.extend(item[1])
        return files
    def get_dirs(self, directory):  
        """Return a list directory paths found directly under the given directory."""
        parts = directory.rstrip(os.sep).split(os.sep)
        item = get_tree_item(self.__files_tree, parts)
        return [os.path.join(directory, key) for key in item[0].keys()] if item else []
    def get_files(self, directory):  
        """Return a list of file paths found directly under the given directory."""
        parts = directory.rstrip(os.sep).split(os.sep)
        item = get_tree_item(self.__files_tree, parts)
        return item[1] if item else []
class ContentLayout(Layout):
    """Information about the current Ansible content being tested."""
    def __init__(self,