Support both list and dict format for builder config
[email protected]
BUG=497243
Review URL: https://codereview.chromium.org/1186323002
Cr-Commit-Position: refs/heads/master@{#334569}
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 78d7c2ed..885055b 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -1870,17 +1870,14 @@
masters = json.loads(subprocess.check_output(
['commit_queue', 'builders', cq_config_path], shell=is_win))
- # Explicitly iterate over copies of keys since we mutate them.
- for master in masters.keys():
- for builder in masters[master].keys():
+ try_config = {}
+ for master in masters:
+ try_config.setdefault(master, {})
+ for builder in masters[master]:
# Do not trigger presubmit builders, since they're likely to fail
# (e.g. OWNERS checks before finished code review), and we're
# running local presubmit anyway.
- if 'presubmit' in builder:
- masters[master].pop(builder)
- else:
- # Convert testfilter format to the one expected by git-cl-try.
- testfilter = masters[master][builder].get('testfilter', 'defaulttests')
- masters[master][builder] = [testfilter]
+ if 'presubmit' not in builder:
+ try_config[master][builder] = ['defaulttests']
- return masters
+ return try_config