##### 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.
except SubprocessError as ex:
            stdout = ex.stdout
            stderr = ex.stderr
            status = ex.status
        if args.explain:
            return SanitySuccess(self.name)
        if stdout and not stderr:
            if pattern:
                matches = parse_to_list_of_dict(pattern, stdout)
                messages = [SanityMessage(
                    message=m['message'],
                    path=m['path'],
                    line=int(m.get('line', 0)),
                    column=int(m.get('column', 0)),
                ) for m in matches]
                messages = settings.process_errors(messages, paths)
                if not messages:
                    return SanitySuccess(self.name)
                return SanityFailure(self.name, messages=messages)
        if stderr or status:
            summary = u'%s' % SubprocessError(cmd=cmd, status=status, stderr=stderr, stdout=stdout)
            return SanityFailure(self.name, summary=summary)
        messages = settings.process_errors([], paths)
        if messages:
            return SanityFailure(self.name, messages=messages)
        return SanitySuccess(self.name)
    def load_processor(self, args):  
        """Load the ignore processor for this sanity test."""
        return SanityIgnoreProcessor(args, self, None)
class SanityFunc(SanityTest):