Add default trybots for WebRTC try server.

Today, our tryjobs default to run on all trybots since
we don't have any default list configured in PRESUBMIT.py.
Because of this, the --testfilter argument doesn't work
unless you also specify --bot when sending the tryjob.

With this CL, it is possible to use --testfilter without
--bot.
It also gets the benefit of excluding unnecessary bots
when doing platform-specific changes.

Most of the code is copied from Chromium's src/PRESUBMIT.py:
https://code.google.com/p/chromium/codesearch#chromium/src/PRESUBMIT.py&l=1030

TEST=tested submitting a tryjob with git try -t compile.
BUG=none
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2619004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5016 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
kjellander@webrtc.org 2013-10-22 16:47:40 +00:00
parent 31628aae7e
commit 8575980e16

@ -6,6 +6,9 @@
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
import re
def _CheckNoIOStreamInHeaders(input_api, output_api):
"""Checks to make sure no .h files include <iostream>."""
files = []
@ -150,3 +153,42 @@ def CheckChangeOnCommit(input_api, output_api):
results.extend(input_api.canned_checks.CheckChangeHasTestField(
input_api, output_api))
return results
# pylint: disable=W0613
def GetPreferredTrySlaves(project, change):
files = change.LocalPaths()
ios_bots = [
'ios',
'ios_rel',
]
linux_bots = [
'linux',
'linux_asan',
'linux_memcheck',
'linux_rel',
'linux_tsan',
]
mac_bots = [
'mac',
'mac_asan',
'mac_rel',
'mac_x64_rel',
]
win_bots = [
'win',
'win_rel',
'win_x64_rel',
]
if not files or all(re.search(r'[\\/]OWNERS$', f) for f in files):
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
if all(re.search('(^|[/_])win[/_.]', f) for f in files):
return win_bots
return ['android_ndk'] + ios_bots + linux_bots + mac_bots + win_bots