in testsuite/driver/testlib.py [0:0]
def _collect_stats(name, opts, metrics, deviation, is_compiler_stats_test=False):
if not re.match('^[0-9]*[a-zA-Z][a-zA-Z0-9._-]*$', name):
failBecause('This test has an invalid name.')
# Normalize metrics to a list of strings.
if isinstance(metrics, str):
if metrics == 'all':
metrics = testing_metrics()
else:
metrics = [metrics]
opts.is_stats_test = True
if is_compiler_stats_test:
opts.is_compiler_stats_test = True
# Compiler performance numbers change when debugging is on, making the results
# useless and confusing. Therefore, skip if debugging is on.
if config.compiler_debugged and is_compiler_stats_test:
opts.skip = 1
for metric in metrics:
def baselineByWay(way, target_commit, metric=metric):
return Perf.baseline_metric( \
target_commit, name, config.test_env, metric, way)
opts.stats_range_fields[metric] = (baselineByWay, deviation)