
currently an invalid collection will error out on docs sanity, but this is misleading since the problem is that the collection name itself is invalid, a previous test verifying this should be introduced to avoid confusion.

example currently:
```
Running sanity test 'ansible-doc' with Python 3.7
ERROR: Command "ansible-doc -t module cyberark.ansible-security-automation-collection.cyberark_account cyberark.ansible-security-automation-collection.cyberark_authentication cyberark.ansible-security-automation-collection.cyberark_credential cyberark.ansible-security-automation-collection.cyberark_user" returned exit status 250.
>>> Standard Error
[WARNING]: module cyberark.ansible-security-automation-collection.cyberark_account not found in: /dev/null:/home/abehl/work/src/anshul_ansible/ansible/lib/ansible/modules
ERROR! Unexpected Exception, this is probably a bug: cannot unpack non-iterable NoneType object
```
##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
ansible-test

"""Parse lines from the given value using the specified pattern and return the extracted list of key/value pair dictionaries."""
    matched = []
    unmatched = []
    for line in value.splitlines():
        match = re.search(pattern, line)
        if match:
            matched.append(match.groupdict())
        else:
            unmatched.append(line)
    if unmatched:
        raise Exception('Pattern "%s" did not match values:\n%s' % (pattern, '\n'.join(unmatched)))
    return matched
def get_subclasses(class_type):  
    """Returns a list of types that are concrete subclasses of the given type."""
    subclasses = set()  
    queue = [class_type]  
    while queue:
        parent = queue.pop()
        for child in parent.__subclasses__():
            if child not in subclasses:
                if not inspect.isabstract(child):
                    subclasses.add(child)
                queue.append(child)
    return sorted(subclasses, key=lambda sc: sc.__name__)
def is_subdir(candidate_path, path):