def add_test(self, name, cls=None, settings={}): cls = cls or self.__class__ new_settings = deepcopy(self.settings) dict_merge(new_settings, settings) self.tests[name] = cls(self.full_path + [name], self.root, new_settings) return self.tests[name]
def ingestDirectory(path, dest): for root, _, files in os.walk(path, topdown=False): root = root[len(os.path.commonprefix([root, path])):] if root.startswith('utils'): continue for file in files: fname, ext = os.path.splitext(file) if ext not in ('.gb', '.sym'): continue try: os.makedirs(os.path.join(dest, root, fname)) except OSError: pass if ext in ('.gb', '.sym'): shutil.copy(os.path.join(path, root, file), os.path.join(dest, root, fname, 'test' + ext)) for suffix, model in suffixes.items(): if fname.endswith('-' + suffix): manifest = {} try: with open(os.path.join(dest, root, fname, 'manifest.yml'), 'r') as f: manifest = yaml.safe_load(f) or {} except IOError: pass dict_merge(manifest, { 'config': { 'gb.model': model } }) with open(os.path.join(dest, root, fname, 'manifest.yml'), 'w') as f: yaml.dump(manifest, f)
def __init__(self, path, root, settings={}): self.full_path = path or [] self.path = os.path.abspath(os.path.join(root, *self.full_path)) self.root = root self.name = '.'.join(path) self.settings = settings try: with open(os.path.join(self.path, 'manifest.yml'), 'r') as f: dict_merge(self.settings, yaml.safe_load(f)) except IOError: pass self.tests = {}
def __init__(self, path, root, settings={}): self.full_path = path or [] self.path = os.path.abspath(os.path.join(root, *self.full_path)) self.root = root self.name = '.'.join(path) self.settings = settings try: with open(os.path.join(self.path, 'config.ini'), 'r') as f: cfg = ConfigParser() cfg.read_file(f) settings = {} if 'testinfo' in cfg: settings = dict(cfg['testinfo']) if 'ports.cinema' in cfg: settings['config'] = dict(cfg['ports.cinema']) dict_merge(self.settings, settings) except IOError: pass self.tests = {}