Skip to content

Commit

Permalink
Update PRESUBMIT scripts to use PresubmitPromptOrNotify helper.
Browse files Browse the repository at this point in the history
NOTRY=true

Review URL: https://chromiumcodereview.appspot.com/13093006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191863 0039d316-1c4b-4281-b951-d872f2087c98
  • Loading branch information
wez@chromium.org committed Apr 2, 2013
1 parent 268fefa commit f7051d5
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 39 deletions.
29 changes: 4 additions & 25 deletions PRESUBMIT.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,11 +223,7 @@ def FilterFile(affected_file):
line_number += 1

if problems:
if not input_api.is_committing:
return [output_api.PresubmitPromptWarning(_TEST_ONLY_WARNING, problems)]
else:
# We don't warn on commit, to avoid stopping commits going through CQ.
return [output_api.PresubmitNotifyResult(_TEST_ONLY_WARNING, problems)]
return [output_api.PresubmitPromptOrNotify(_TEST_ONLY_WARNING, problems)]
else:
return []

Expand Down Expand Up @@ -440,13 +436,7 @@ def _CheckUnwantedDependencies(input_api, output_api):
'You added one or more #includes that violate checkdeps rules.',
error_descriptions))
if warning_descriptions:
if not input_api.is_committing:
warning_factory = output_api.PresubmitPromptWarning
else:
# We don't want to block use of the CQ when there is a warning
# of this kind, so we only show a message when committing.
warning_factory = output_api.PresubmitNotifyResult
results.append(warning_factory(
results.append(output_api.PresubmitPromptOrNotify(
'You added one or more #includes of files that are temporarily\n'
'allowed but being removed. Can you avoid introducing the\n'
'#include? See relevant DEPS file(s) for details and contacts.',
Expand Down Expand Up @@ -623,12 +613,7 @@ def _CheckIncludeOrder(input_api, output_api):

results = []
if warnings:
if not input_api.is_committing:
results.append(output_api.PresubmitPromptWarning(_INCLUDE_ORDER_WARNING,
warnings))
else:
# We don't warn on commit, to avoid stopping commits going through CQ.
results.append(output_api.PresubmitNotifyResult(_INCLUDE_ORDER_WARNING,
results.append(output_api.PresubmitPromptOrNotify(_INCLUDE_ORDER_WARNING,
warnings))
return results

Expand Down Expand Up @@ -677,13 +662,7 @@ def FilterFile(affected_file):
problems.append((f.LocalPath(), line_num, line))

if problems:
if not input_api.is_committing:
warning_factory = output_api.PresubmitPromptWarning
else:
# We don't want to block use of the CQ when there is a warning
# of this kind, so we only show a message when committing.
warning_factory = output_api.PresubmitNotifyResult
return [warning_factory(
return [output_api.PresubmitPromptOrNotify(
'Most layers below src/chrome/ should not hardcode service URLs.\n'
'Are you sure this is correct? (Contact: joi@chromium.org)',
[' %s:%d: %s' % (
Expand Down
19 changes: 6 additions & 13 deletions PRESUBMIT_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@ def __init__(self, message, items, long_text=''):
MockOutputApi.PresubmitResult.__init__(self, message, items, long_text)
self.type = 'notify'

class PresubmitPromptOrNotify(PresubmitResult):
def __init__(self, message, items, long_text=''):
MockOutputApi.PresubmitResult.__init__(self, message, items, long_text)
self.type = 'promptOrNotify'


class MockFile(object):
def __init__(self, local_path, new_contents):
Expand Down Expand Up @@ -246,19 +251,7 @@ def testCheckOnlyCFiles(self):
warnings = PRESUBMIT._CheckIncludeOrder(mock_input_api, mock_output_api)
self.assertEqual(1, len(warnings))
self.assertEqual(2, len(warnings[0].items))
self.assertEqual('warning', warnings[0].type)

def testOnlyNotifyOnCommit(self):
mock_input_api = MockInputApi()
mock_input_api.is_committing = True
mock_output_api = MockOutputApi()
contents = ['#include <b.h>',
'#include <a.h>']
mock_input_api.files = [MockFile('something.cc', contents)]
warnings = PRESUBMIT._CheckIncludeOrder(mock_input_api, mock_output_api)
self.assertEqual(1, len(warnings))
self.assertEqual(1, len(warnings[0].items))
self.assertEqual('notify', warnings[0].type)
self.assertEqual('promptOrNotify', warnings[0].type)

def testUncheckableIncludes(self):
mock_input_api = MockInputApi()
Expand Down
2 changes: 1 addition & 1 deletion ppapi/PRESUBMIT.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ def CheckChange(input_api, output_api):
for line in lines:
if line[2].split()[:2] == ['#define', 'PPAPI_RELEASE']:
results.append(
output_api.PresubmitNotifyResult(
output_api.PresubmitPromptOrNotify(
'PPAPI_RELEASE has changed', long_text=line[2]))
releaseChanged = True
break
Expand Down

0 comments on commit f7051d5

Please sign in to comment.