def discover_modules(repo_dir): """Looks through the directory trees for modules descriptor. When module is found, it create cekit.module.Module instance and add this instance to the cekit.module.modules list. """ for modules_dir, _, files in os.walk(repo_dir): if 'module.yaml' in files: module = Module( tools.load_descriptor(os.path.join(modules_dir, 'module.yaml')), modules_dir, os.path.dirname( os.path.abspath(os.path.join(modules_dir, 'module.yaml')))) module.fetch_dependencies(repo_dir) logger.debug("Adding module '%s', path: '%s'" % (module.name, module.path)) modules.append(module)
def test_issue_322(tmpdir): """tests a particular inheritance issue reported as GitHub issue #322""" target_dir = str(tmpdir.mkdir('target')) artifact_dir = str(tmpdir.mkdir('artifacts')) clone_dir = str(tmpdir.mkdir('clone')) descriptor = yaml.load(open("tests/issue_322/image.yaml").read()) image = Module(descriptor=descriptor, path="tests/issue_322", artifact_dir=artifact_dir) image.fetch_dependencies(clone_dir) generator = Generator.__new__(Generator, descriptor_path="tests/issue_322", target=target_dir, builder="docker", overrides=None, params={}) generator.image = image generator.target = target_dir generator.prepare_modules()
def test_modules_repos(tmpdir): tmpdir = str(tmpdir.mkdir('target')) module = Module(module_desc, os.getcwd(), '/tmp') module.fetch_dependencies(tmpdir) assert 'foo' in [m['name'] for m in modules]