Commit 8e13a094 authored by maruel@chromium.org's avatar maruel@chromium.org

Change gcl presubmit to only run commit hooks by default.

Upload hook are only run with the --upload flag.

Most of the time the same hook is run in both case so gcl presubmit is simply 2x
slower than it could be otherwise.

TEST=none
BUG=none

Review URL: http://codereview.chromium.org/4277003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@64779 0039d316-1c4b-4281-b951-d872f2087c98
parent 22605389
......@@ -9,6 +9,7 @@ of files.
"""
import getpass
import optparse
import os
import random
import re
......@@ -865,22 +866,27 @@ def CMDupload(change_info, args):
return 0
@need_change
def CMDpresubmit(change_info):
@need_change_and_args
@attrs(usage='[--upload]')
def CMDpresubmit(change_info, args):
"""Runs presubmit checks on the change.
The actual presubmit code is implemented in presubmit_support.py and looks
for PRESUBMIT.py files."""
if not change_info.GetFiles():
print "Nothing to presubmit check, changelist is empty."
print('Nothing to presubmit check, changelist is empty.')
return 0
print "*** Presubmit checks for UPLOAD would report: ***"
result = DoPresubmitChecks(change_info, False, False)
print "\n*** Presubmit checks for COMMIT would report: ***"
result &= DoPresubmitChecks(change_info, True, False)
return not result
parser = optparse.OptionParser()
parser.add_option('--upload', action='store_true')
options, args = parser.parse_args(args)
if args:
parser.error('Unrecognized args: %s' % args)
if options.upload:
print('*** Presubmit checks for UPLOAD would report: ***')
return not DoPresubmitChecks(change_info, False, False)
else:
print('*** Presubmit checks for COMMIT would report: ***')
return not DoPresubmitChecks(change_info, True, False)
def TryChange(change_info, args, swallow_exception):
......
......@@ -57,9 +57,9 @@ class GclUnittest(GclTestsBase):
'RunShell', 'RunShellWithReturnCode', 'SVN',
'TryChange', 'UnknownFiles', 'Warn',
'attrs', 'breakpad', 'defer_attributes', 'gclient_utils', 'getpass',
'json', 'main', 'need_change', 'need_change_and_args', 'no_args', 'os',
'random', 're', 'string', 'subprocess', 'sys', 'tempfile',
'time', 'upload', 'urllib2',
'json', 'main', 'need_change', 'need_change_and_args', 'no_args',
'optparse', 'os', 'random', 're', 'string', 'subprocess', 'sys',
'tempfile', 'time', 'upload', 'urllib2',
]
# If this test fails, you should add the relevant test.
self.compareMembers(gcl, members)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment