in utils/benchmark_config.py [0:0]
def from_string(cls, string):
"""Parses the content of a YAML config file and constructs a BenchmarkConfig.
Args:
string: a string in YAML file format. Usually the content of a config
file.
Returns:
The created config object.
"""
config = yaml.safe_load(string)
if 'units' not in config:
raise ValueError('Wrong config file format. Please check the example.')
benchmark_project_commits = ('benchmark_project_commits' in config and
config['benchmark_project_commits'])
global_options = (
config['global_options'] if 'global_options' in config else {})
parsed_units = []
for local_options in config['units']:
unit = copy.copy(global_options)
# Local configs would override global ones.
unit.update(local_options)
parsed_units.append(cls._parse_unit(unit))
return cls(parsed_units, benchmark_project_commits)