import os import unittest ROLES_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../roles')) class TestRolesHaveMetaMain(unittest.TestCase): def test_each_role_has_meta_main(self): missing_meta = [] for role in os.listdir(ROLES_DIR): role_path = os.path.join(ROLES_DIR, role) if os.path.isdir(role_path): meta_main = os.path.join(role_path, 'meta', 'main.yml') if not os.path.isfile(meta_main): missing_meta.append(role) if missing_meta: self.fail( "The following roles are missing meta/main.yml:\n" + "\n".join(missing_meta) ) if __name__ == '__main__': unittest.main()