def load_configuration(self): """Loads configuration specified by a user on a command line. At this moment, DLBS has already loaded standard configuration (if `discard_default_config` flag is not present). DLBS will try to load user configuration from `config` file (if not None) overwriting default parameters. Then, it will try to load user provided parameters (`params`, `vars` and `extensions`) that will overwrite existing configuration. If `plan` file is present, it will be loaded if `action` is `run`. """ if self.config_file is not None: logging.debug('Loading configuration from: %s', self.config_file) with open(self.config_file) as file_obj: user_config = json.load(file_obj) # Update parameter information from user configuration. ConfigurationLoader.update_param_info(self.param_info, user_config, is_user_config=True) # Update existing benchmark configuration. ConfigurationLoader.update( self.config, ConfigurationLoader.remove_info(user_config)) if self.plan_file is not None and self.action == 'run': logging.debug('Loading plan from: %s', self.plan_file) with open(self.plan_file) as plan_file: self.plan = json.load(plan_file)
def load_configuration(self): """Loads configuration specified by a user on a command line.""" if self.config_file is not None: logging.debug('Loading configuration from: %s', self.config_file) with open(self.config_file) as file_obj: user_config = json.load(file_obj) # Update parameter information from user configuration. ConfigurationLoader.update_param_info(self.param_info, user_config, is_user_config=True) # Update existing benchmark configuration. ConfigurationLoader.update( self.config, ConfigurationLoader.remove_info(user_config)) if self.plan_file is not None and self.action == 'run': logging.debug('Loading plan from: %s', self.plan_file) with open(self.plan_file) as plan_file: self.plan = json.load(plan_file)
def test_remove_info(self): config = ConfigurationLoader.remove_info({ 'parameters': { 'p1': 1, 'p2': u'2', 'p3': '3', 'p4': ['1', '2', '3', '4'], 'p5': False, 'p6': -3.33, 'p7': { 'val': '34', 'type': 's3tr', 'desc': 'Some desc' } } }) for p in ('p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7'): self.assertIn(p, config['parameters']) for s in (('p1', 1), ('p2', u'2'), ('p3', '3'), ('p4', ['1', '2', '3', '4']), ('p5', False), ('p6', -3.33), ('p7', '34')): self.assertEqual(config['parameters'][s[0]], s[1])