Chromium Code Reviews| Index: chrome/PRESUBMIT.py |
| diff --git a/chrome/PRESUBMIT.py b/chrome/PRESUBMIT.py |
| index 087232f5923298f59755e94fd9abba7f0275a1f3..a14009bc5a81d2d58daed1ebd80217cbd2cd12a0 100644 |
| --- a/chrome/PRESUBMIT.py |
| +++ b/chrome/PRESUBMIT.py |
| @@ -2,7 +2,7 @@ |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| -"""Makes sure that the chrome/ code is cpplint clean.""" |
| +import re |
|
Jói
2011/11/29 09:10:30
Please improve the docstring rather than removing
jochen (gone - plz use gerrit)
2011/11/29 13:01:11
Done.
|
| INCLUDE_CPP_FILES_ONLY = ( |
| r'.*\.cc$', r'.*\.h$' |
| @@ -40,11 +40,46 @@ EXCLUDE = ( |
| r'gcapi\.cc$', |
| ) |
| -def CheckChangeOnUpload(input_api, output_api): |
| - results = [] |
| +def _CheckChangeLintsClean(input_api, output_api): |
| + """Makes sure that the chrome/ code is cpplint clean.""" |
| black_list = input_api.DEFAULT_BLACK_LIST + EXCLUDE |
| sources = lambda x: input_api.FilterSourceFile( |
| x, white_list=INCLUDE_CPP_FILES_ONLY, black_list=black_list) |
| - results.extend(input_api.canned_checks.CheckChangeLintsClean( |
| - input_api, output_api, sources)) |
| + return input_api.canned_checks.CheckChangeLintsClean( |
| + input_api, output_api, sources) |
| + |
| +def _CheckNoContentUnitTestsInChrome(input_api, output_api): |
| + """Makes sure that no unit tests from content/ are included in unit_tests.""" |
| + problems = [] |
| + for f in input_api.AffectedFiles(): |
| + if not f.LocalPath().endswith('chrome_tests.gypi'): |
| + continue |
| + |
| + for line_num, line in f.ChangedContents(): |
| + m = re.search(r"'(.*\/content\/.*unittest.*)'", line) |
| + if m: |
| + problems.append(' %s' % m.group(1)) |
| + |
| + if not problems: |
| + return [] |
| + return [output_api.PresubmitPromptWarning( |
| + 'Unit tests located in content/ should be added to the ' + |
| + 'content_tests.gypi:content_unittests target.\n' + |
| + '\n'.join(problems))] |
|
Jói
2011/11/29 09:10:30
There is another constructor for a message followe
jochen (gone - plz use gerrit)
2011/11/29 13:01:11
Done.
|
| + |
| +def _CommonChecks(input_api, output_api): |
| + """Checks common to both upload and commit.""" |
| + results = [] |
| + results.extend(_CheckNoContentUnitTestsInChrome(input_api, output_api)) |
| + return results |
| + |
| +def CheckChangeOnUpload(input_api, output_api): |
| + results = [] |
| + results.extend(_CommonChecks(input_api, output_api)) |
| + results.extend(_CheckChangeLintsClean(input_api, output_api)) |
| + return results |
| + |
| +def CheckChangeOnCommit(input_api, output_api): |
| + results = [] |
| + results.extend(_CommonChecks(input_api, output_api)) |
| return results |