Example #1
0
 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]
Example #2
0
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)
Example #3
0
 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 = {}
Example #4
0
 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 = {}
Example #5
0
File: test.py Project: drakaru/mgba
 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 = {}
Example #6
0
 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]