OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Top-level presubmit script for Chromium. | 5 """Top-level presubmit script for Chromium. |
6 | 6 |
7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts | 7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
8 for more details about the presubmit API built into depot_tools. | 8 for more details about the presubmit API built into depot_tools. |
9 """ | 9 """ |
10 | 10 |
(...skipping 1833 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1844 results.extend(_CheckFilePermissions(input_api, output_api)) | 1844 results.extend(_CheckFilePermissions(input_api, output_api)) |
1845 results.extend(_CheckNoAuraWindowPropertyHInHeaders(input_api, output_api)) | 1845 results.extend(_CheckNoAuraWindowPropertyHInHeaders(input_api, output_api)) |
1846 results.extend(_CheckIncludeOrder(input_api, output_api)) | 1846 results.extend(_CheckIncludeOrder(input_api, output_api)) |
1847 results.extend(_CheckForVersionControlConflicts(input_api, output_api)) | 1847 results.extend(_CheckForVersionControlConflicts(input_api, output_api)) |
1848 results.extend(_CheckPatchFiles(input_api, output_api)) | 1848 results.extend(_CheckPatchFiles(input_api, output_api)) |
1849 results.extend(_CheckHardcodedGoogleHostsInLowerLayers(input_api, output_api)) | 1849 results.extend(_CheckHardcodedGoogleHostsInLowerLayers(input_api, output_api)) |
1850 results.extend(_CheckNoAbbreviationInPngFileName(input_api, output_api)) | 1850 results.extend(_CheckNoAbbreviationInPngFileName(input_api, output_api)) |
1851 results.extend(_CheckForInvalidOSMacros(input_api, output_api)) | 1851 results.extend(_CheckForInvalidOSMacros(input_api, output_api)) |
1852 results.extend(_CheckForInvalidIfDefinedMacros(input_api, output_api)) | 1852 results.extend(_CheckForInvalidIfDefinedMacros(input_api, output_api)) |
1853 results.extend(_CheckFlakyTestUsage(input_api, output_api)) | 1853 results.extend(_CheckFlakyTestUsage(input_api, output_api)) |
| 1854 # TODO(danakj): Remove this when base/move.h is removed. |
| 1855 results.extend(_CheckForUsingPass(input_api, output_api)) |
1854 results.extend(_CheckAddedDepsHaveTargetApprovals(input_api, output_api)) | 1856 results.extend(_CheckAddedDepsHaveTargetApprovals(input_api, output_api)) |
1855 results.extend( | 1857 results.extend( |
1856 input_api.canned_checks.CheckChangeHasNoTabs( | 1858 input_api.canned_checks.CheckChangeHasNoTabs( |
1857 input_api, | 1859 input_api, |
1858 output_api, | 1860 output_api, |
1859 source_file_filter=lambda x: x.LocalPath().endswith('.grd'))) | 1861 source_file_filter=lambda x: x.LocalPath().endswith('.grd'))) |
1860 results.extend(_CheckSpamLogging(input_api, output_api)) | 1862 results.extend(_CheckSpamLogging(input_api, output_api)) |
1861 results.extend(_CheckForAnonymousVariables(input_api, output_api)) | 1863 results.extend(_CheckForAnonymousVariables(input_api, output_api)) |
1862 results.extend(_CheckCygwinShell(input_api, output_api)) | 1864 results.extend(_CheckCygwinShell(input_api, output_api)) |
1863 results.extend(_CheckUserActionUpdate(input_api, output_api)) | 1865 results.extend(_CheckUserActionUpdate(input_api, output_api)) |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2010 | 2012 |
2011 if not bad_macros: | 2013 if not bad_macros: |
2012 return [] | 2014 return [] |
2013 | 2015 |
2014 return [output_api.PresubmitError( | 2016 return [output_api.PresubmitError( |
2015 'Found ifdef check on always-defined macro[s]. Please fix your code\n' | 2017 'Found ifdef check on always-defined macro[s]. Please fix your code\n' |
2016 'or check the list of ALWAYS_DEFINED_MACROS in src/PRESUBMIT.py.', | 2018 'or check the list of ALWAYS_DEFINED_MACROS in src/PRESUBMIT.py.', |
2017 bad_macros)] | 2019 bad_macros)] |
2018 | 2020 |
2019 | 2021 |
| 2022 def _CheckForUsingPass(input_api, output_api): |
| 2023 """Check all affected files for using side effects of Pass.""" |
| 2024 errors = [] |
| 2025 for f in input_api.AffectedFiles(): |
| 2026 if f.LocalPath().endswith(('.h', '.c', '.cc', '.m', '.mm')): |
| 2027 for lnum, line in f.ChangedContents(): |
| 2028 # Warn on any use of foo.Pass(). |
| 2029 if input_api.re.search(r'[a-zA-Z0-9_]+\.Pass\(\)', line): |
| 2030 errors.append(output_api.PresubmitError( |
| 2031 ('%s:%d uses Pass(); please use std::move() instead. ' + |
| 2032 'See crbug.com/557422.') % (f.LocalPath(), lnum))) |
| 2033 return errors |
| 2034 |
| 2035 |
2020 def _CheckForIPCRules(input_api, output_api): | 2036 def _CheckForIPCRules(input_api, output_api): |
2021 """Check for same IPC rules described in | 2037 """Check for same IPC rules described in |
2022 http://www.chromium.org/Home/chromium-security/education/security-tips-for-ipc | 2038 http://www.chromium.org/Home/chromium-security/education/security-tips-for-ipc |
2023 """ | 2039 """ |
2024 base_pattern = r'IPC_ENUM_TRAITS\(' | 2040 base_pattern = r'IPC_ENUM_TRAITS\(' |
2025 inclusion_pattern = input_api.re.compile(r'(%s)' % base_pattern) | 2041 inclusion_pattern = input_api.re.compile(r'(%s)' % base_pattern) |
2026 comment_pattern = input_api.re.compile(r'//.*(%s)' % base_pattern) | 2042 comment_pattern = input_api.re.compile(r'//.*(%s)' % base_pattern) |
2027 | 2043 |
2028 problems = [] | 2044 problems = [] |
2029 for f in input_api.AffectedSourceFiles(None): | 2045 for f in input_api.AffectedSourceFiles(None): |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2131 results.extend(input_api.canned_checks.CheckTreeIsOpen( | 2147 results.extend(input_api.canned_checks.CheckTreeIsOpen( |
2132 input_api, | 2148 input_api, |
2133 output_api, | 2149 output_api, |
2134 json_url='http://chromium-status.appspot.com/current?format=json')) | 2150 json_url='http://chromium-status.appspot.com/current?format=json')) |
2135 | 2151 |
2136 results.extend(input_api.canned_checks.CheckChangeHasBugField( | 2152 results.extend(input_api.canned_checks.CheckChangeHasBugField( |
2137 input_api, output_api)) | 2153 input_api, output_api)) |
2138 results.extend(input_api.canned_checks.CheckChangeHasDescription( | 2154 results.extend(input_api.canned_checks.CheckChangeHasDescription( |
2139 input_api, output_api)) | 2155 input_api, output_api)) |
2140 return results | 2156 return results |
OLD | NEW |