PRESUBMIT.py: use new way to specify default try builders
In https://codereview.chromium.org/178223016 and
https://codereview.chromium.org/197963003 the way the
PRESUBMIT.py specifies the default try builders for a
try job have changed.
When submitting a try job now, the test filter argument no
longer works unless --bot is also specified.
This CL attempts to resolve this by moving away from the
deprecated approach onto using the new format instead.
This CL also includes two new trybots: win_asan and linux_tsan2
(added in https://codereview.chromium.org/220453004).
BUG=3148
TEST=Successfully fired off a -t compile job where the
test filter worked.
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11119004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5839 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index ba84e74..5f913a9 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -121,6 +121,7 @@
r'^talk/site_scons/site_tools/talk_linux.py$',
r'^third_party/.*\.py$',
r'^testing/.*\.py$',
+ r'^tools/clang/.*\.py$',
r'^tools/gyp/.*\.py$',
r'^tools/perf_expectations/.*\.py$',
r'^tools/protoc_wrapper/.*\.py$',
@@ -175,8 +176,16 @@
json_url='http://webrtc-status.appspot.com/current?format=json'))
return results
+def GetDefaultTryConfigs(bots=None):
+ """Returns a list of ('bot', set(['tests']), optionally filtered by [bots].
+
+ For WebRTC purposes, we always return an empty list of tests, since we want
+ to run all tests by default on all our trybots.
+ """
+ return { 'tryserver.webrtc': dict((bot, []) for bot in bots)}
+
# pylint: disable=W0613
-def GetPreferredTrySlaves(project, change):
+def GetPreferredTryMasters(project, change):
files = change.LocalPaths()
android_bots = [
@@ -197,6 +206,7 @@
'linux_memcheck',
'linux_rel',
'linux_tsan',
+ 'linux_tsan2',
]
mac_bots = [
'mac',
@@ -207,19 +217,22 @@
]
win_bots = [
'win',
+ 'win_asan',
'win_baremetal',
'win_rel',
'win_x64_rel',
]
-
if not files or all(re.search(r'[\\/]OWNERS$', f) for f in files):
- return []
+ return {}
- if all(re.search('[/_]ios[/_.]', f) for f in files):
- return ios_bots
if all(re.search('\.(m|mm)$|(^|[/_])mac[/_.]', f) for f in files):
- return mac_bots
+ return GetDefaultTryConfigs(mac_bots)
if all(re.search('(^|[/_])win[/_.]', f) for f in files):
- return win_bots
+ return GetDefaultTryConfigs(win_bots)
+ if all(re.search('(^|[/_])android[/_.]', f) for f in files):
+ return GetDefaultTryConfigs(android_bots)
+ if all(re.search('[/_]ios[/_.]', f) for f in files):
+ return GetDefaultTryConfigs(ios_bots)
- return android_bots + ios_bots + linux_bots + mac_bots + win_bots
+ return GetDefaultTryConfigs(android_bots + ios_bots + linux_bots + mac_bots +
+ win_bots)