Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: git_cl.py

Issue 1423483002: git cl try: default testfilter is no testfilter. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: +luci todo Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # Copyright (C) 2008 Evan Martin <martine@danga.com> 6 # Copyright (C) 2008 Evan Martin <martine@danga.com>
7 7
8 """A git-command for integrating reviews on Rietveld.""" 8 """A git-command for integrating reviews on Rietveld."""
9 9
10 from distutils.version import LooseVersion 10 from distutils.version import LooseVersion
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 return master 238 return master
239 return '%s%s' % (prefix, master) 239 return '%s%s' % (prefix, master)
240 240
241 241
242 def trigger_luci_job(changelist, masters, options): 242 def trigger_luci_job(changelist, masters, options):
243 """Send a job to run on LUCI.""" 243 """Send a job to run on LUCI."""
244 issue_props = changelist.GetIssueProperties() 244 issue_props = changelist.GetIssueProperties()
245 issue = changelist.GetIssue() 245 issue = changelist.GetIssue()
246 patchset = changelist.GetMostRecentPatchset() 246 patchset = changelist.GetMostRecentPatchset()
247 for builders_and_tests in sorted(masters.itervalues()): 247 for builders_and_tests in sorted(masters.itervalues()):
248 for builder in sorted(builders_and_tests.iterkeys()): 248 # TODO(hinoka et al): add support for other properties.
249 # Currently, this completely ignores testfilter and other properties.
250 for builder in sorted(builders_and_tests):
249 luci_trigger.trigger( 251 luci_trigger.trigger(
250 builder, 'HEAD', issue, patchset, issue_props['project']) 252 builder, 'HEAD', issue, patchset, issue_props['project'])
251 253
252 254
253 def trigger_try_jobs(auth_config, changelist, options, masters, category): 255 def trigger_try_jobs(auth_config, changelist, options, masters, category):
254 rietveld_url = settings.GetDefaultServerUrl() 256 rietveld_url = settings.GetDefaultServerUrl()
255 rietveld_host = urlparse.urlparse(rietveld_url).hostname 257 rietveld_host = urlparse.urlparse(rietveld_url).hostname
256 authenticator = auth.get_authenticator_for_host(rietveld_host, auth_config) 258 authenticator = auth.get_authenticator_for_host(rietveld_host, auth_config)
257 http = authenticator.authorize(httplib2.Http()) 259 http = authenticator.authorize(httplib2.Http())
258 http.force_exception_to_status_code = True 260 http.force_exception_to_status_code = True
(...skipping 26 matching lines...) Expand all
285 }], 287 }],
286 'properties': { 288 'properties': {
287 'category': category, 289 'category': category,
288 'issue': issue, 290 'issue': issue,
289 'master': master, 291 'master': master,
290 'patch_project': issue_props['project'], 292 'patch_project': issue_props['project'],
291 'patch_storage': 'rietveld', 293 'patch_storage': 'rietveld',
292 'patchset': patchset, 294 'patchset': patchset,
293 'reason': options.name, 295 'reason': options.name,
294 'rietveld': rietveld_url, 296 'rietveld': rietveld_url,
295 'testfilter': tests,
296 }, 297 },
297 } 298 }
299 if tests:
300 parameters['properties']['testfilter'] = tests
298 if properties: 301 if properties:
299 parameters['properties'].update(properties) 302 parameters['properties'].update(properties)
300 if options.clobber: 303 if options.clobber:
301 parameters['properties']['clobber'] = True 304 parameters['properties']['clobber'] = True
302 batch_req_body['builds'].append( 305 batch_req_body['builds'].append(
303 { 306 {
304 'bucket': bucket, 307 'bucket': bucket,
305 'parameters_json': json.dumps(parameters), 308 'parameters_json': json.dumps(parameters),
306 'tags': ['builder:%s' % builder, 309 'tags': ['builder:%s' % builder,
307 'buildset:%s' % buildset, 310 'buildset:%s' % buildset,
(...skipping 2901 matching lines...) Expand 10 before | Expand all | Expand 10 after
3209 # multiple try masters yet. 3212 # multiple try masters yet.
3210 old_style = filter(lambda x: isinstance(x, basestring), options.bot) 3213 old_style = filter(lambda x: isinstance(x, basestring), options.bot)
3211 new_style = filter(lambda x: isinstance(x, tuple), options.bot) 3214 new_style = filter(lambda x: isinstance(x, tuple), options.bot)
3212 3215
3213 for bot in old_style: 3216 for bot in old_style:
3214 if ':' in bot: 3217 if ':' in bot:
3215 parser.error('Specifying testfilter is no longer supported') 3218 parser.error('Specifying testfilter is no longer supported')
3216 elif ',' in bot: 3219 elif ',' in bot:
3217 parser.error('Specify one bot per --bot flag') 3220 parser.error('Specify one bot per --bot flag')
3218 else: 3221 else:
3219 builders_and_tests.setdefault(bot, []).append('defaulttests') 3222 builders_and_tests.setdefault(bot, [])
3220 3223
3221 for bot, tests in new_style: 3224 for bot, tests in new_style:
3222 builders_and_tests.setdefault(bot, []).extend(tests) 3225 builders_and_tests.setdefault(bot, []).extend(tests)
3223 3226
3224 # Return a master map with one master to be backwards compatible. The 3227 # Return a master map with one master to be backwards compatible. The
3225 # master name defaults to an empty string, which will cause the master 3228 # master name defaults to an empty string, which will cause the master
3226 # not to be set on rietveld (deprecated). 3229 # not to be set on rietveld (deprecated).
3227 return {options.master: builders_and_tests} 3230 return {options.master: builders_and_tests}
3228 3231
3229 masters = GetMasterMap() 3232 masters = GetMasterMap()
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
3667 if __name__ == '__main__': 3670 if __name__ == '__main__':
3668 # These affect sys.stdout so do it outside of main() to simplify mocks in 3671 # These affect sys.stdout so do it outside of main() to simplify mocks in
3669 # unit testing. 3672 # unit testing.
3670 fix_encoding.fix_encoding() 3673 fix_encoding.fix_encoding()
3671 colorama.init() 3674 colorama.init()
3672 try: 3675 try:
3673 sys.exit(main(sys.argv[1:])) 3676 sys.exit(main(sys.argv[1:]))
3674 except KeyboardInterrupt: 3677 except KeyboardInterrupt:
3675 sys.stderr.write('interrupted\n') 3678 sys.stderr.write('interrupted\n')
3676 sys.exit(1) 3679 sys.exit(1)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698