Esempio n. 1
0
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)
Esempio n. 2
0
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()
Esempio n. 3
0
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]