Exemple #1
0
    def test_ensure_dir(self):
        tmpdir = tempfile.mkdtemp()
        try:
            path = os.path.join(tmpdir, 'onemorelevel')
            utils.ensure_dir(path)
            self.assertTrue(os.path.isdir(path))

            # Test for idempotency
            utils.ensure_dir(path)
        finally:
            shutil.rmtree(tmpdir)
Exemple #2
0
def generate_summary(basedir):
    data = {'all_builds': {}}
    try:
        for job_name in os.listdir(os.path.join(basedir, 'jobs')):
            data['all_builds'][job_name] = {}
            try:
                for build in os.listdir(os.path.join(basedir, 'jobs', job_name, 'build_records')):
                    data['all_builds'][job_name][build] = json.load(open(os.path.join(basedir, 'jobs', job_name, 'build_records', build, 'state.json'), 'r'))
            except OSError:
                pass
    except OSError:
        pass

    ensure_dir(basedir)
    json.dump(data, open(os.path.join(basedir, 'summary.json'), 'w'))
Exemple #3
0
def run(schmenkins, job, info, build):
    source_job = schmenkins.get_job(itpl(info['project'], build.parameters()))
    if info['which-build'] == 'specific-build':
        source_build = SchmenkinsBuild(source_job,
                                       build_number=itpl(info['build-number'],
                                                         build.parameters()))
    else:
        raise UnsupportedConfig(info['which-build'])

    target_dir = job.workspace()

    if 'target' in info:
        target_dir = os.path.join(target_dir, info['target'])

    ensure_dir(target_dir)

    source_dir = source_build.artifact_dir()

    fileset = formic.FileSet(directory=source_dir,
                             include=info['filter'])

    for f in fileset.qualified_files(absolute=False):
        shutil.copy(os.path.join(source_dir, f),
                    os.path.join(target_dir, f))
Exemple #4
0
 def summary_file(self):
     ensure_dir(self.basedir)
     return os.path.join(self.basedir, 'summary.json')
Exemple #5
0
 def state_file(self):
     ensure_dir(self.basedir)
     return os.path.join(self.basedir, 'state.json')