Index: tools/variations/fieldtrial_util.py |
diff --git a/tools/variations/fieldtrial_util.py b/tools/variations/fieldtrial_util.py |
index 024894ab21ea7f219151282a1878adbdcc5e158a..bc21d69d782dd69c6e9fa8c48f028fc4eae56735 100644 |
--- a/tools/variations/fieldtrial_util.py |
+++ b/tools/variations/fieldtrial_util.py |
@@ -32,14 +32,18 @@ def _FindDuplicates(entries): |
return duplicates |
def _CheckForDuplicateFeatures(enable_features, disable_features): |
+ enable_features = [f.split('<')[0] for f in enable_features] |
enable_features_set = set(enable_features) |
if len(enable_features_set) != len(enable_features): |
raise Exception('Duplicate feature(s) in enable_features: ' + |
', '.join(_FindDuplicates(enable_features))) |
+ |
+ disable_features = [f.split('<')[0] for f in disable_features] |
disable_features_set = set(disable_features) |
if len(disable_features_set) != len(disable_features): |
raise Exception('Duplicate feature(s) in disable_features: ' + |
', '.join(_FindDuplicates(disable_features))) |
+ |
features_in_both = enable_features_set.intersection(disable_features_set) |
if len(features_in_both) > 0: |
raise Exception('Conflicting features set as both enabled and disabled: ' + |
@@ -79,10 +83,10 @@ def GenerateArgs(config_path, platform): |
param_list = [_escape(x) for x in param_list] |
param = '%s:%s' % ('.'.join(selected_study), '/'.join(param_list)) |
params.append(param) |
- if 'enable_features' in experiment: |
- enable_features.extend(experiment['enable_features']) |
- if 'disable_features' in experiment: |
- disable_features.extend(experiment['disable_features']) |
+ for feature in experiment.get('enable_features', []): |
+ enable_features.append(feature + '<' + study_name) |
+ for feature in experiment.get('disable_features', []): |
+ disable_features.append(feature + '<' + study_name) |
if not len(studies): |
return [] |
@@ -91,9 +95,9 @@ def GenerateArgs(config_path, platform): |
if len(params): |
args.append('--force-fieldtrial-params=%s' % ','.join(params)) |
if len(enable_features): |
- args.append('--enable-features=%s' % ','.join(enable_features)) |
+ args.append('--enable-features="%s"' % ','.join(enable_features)) |
if len(disable_features): |
- args.append('--disable-features=%s' % ','.join(disable_features)) |
+ args.append('--disable-features="%s"' % ','.join(disable_features)) |
return args |
def main(): |