##### 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 tuple of sanity test targets. Uses a cached version when available."""
        try:
            return SanityTargets.get_targets.targets
        except AttributeError:
            SanityTargets.get_targets.targets = tuple(sorted(walk_sanity_targets()))
        return SanityTargets.get_targets.targets
class SanityTest(ABC):
    """Sanity test base class."""
    __metaclass__ = abc.ABCMeta
    ansible_only = False
    def __init__(self, name):
        self.name = name
        self.enabled = True
    @property
    def error_code(self):  
        """Error code for ansible-test matching the format used by the underlying test program, or None if the program does not use error codes."""
        return None
    @property
    def can_ignore(self):  
        """True if the test supports ignore entries."""
        return True
    @property
    def can_skip(self):