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)) | |
1856 results.extend(_CheckAddedDepsHaveTargetApprovals(input_api, output_api)) | 1854 results.extend(_CheckAddedDepsHaveTargetApprovals(input_api, output_api)) |
1857 results.extend( | 1855 results.extend( |
1858 input_api.canned_checks.CheckChangeHasNoTabs( | 1856 input_api.canned_checks.CheckChangeHasNoTabs( |
1859 input_api, | 1857 input_api, |
1860 output_api, | 1858 output_api, |
1861 source_file_filter=lambda x: x.LocalPath().endswith('.grd'))) | 1859 source_file_filter=lambda x: x.LocalPath().endswith('.grd'))) |
1862 results.extend(_CheckSpamLogging(input_api, output_api)) | 1860 results.extend(_CheckSpamLogging(input_api, output_api)) |
1863 results.extend(_CheckForAnonymousVariables(input_api, output_api)) | 1861 results.extend(_CheckForAnonymousVariables(input_api, output_api)) |
1864 results.extend(_CheckCygwinShell(input_api, output_api)) | 1862 results.extend(_CheckCygwinShell(input_api, output_api)) |
1865 results.extend(_CheckUserActionUpdate(input_api, output_api)) | 1863 results.extend(_CheckUserActionUpdate(input_api, output_api)) |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2012 | 2010 |
2013 if not bad_macros: | 2011 if not bad_macros: |
2014 return [] | 2012 return [] |
2015 | 2013 |
2016 return [output_api.PresubmitError( | 2014 return [output_api.PresubmitError( |
2017 'Found ifdef check on always-defined macro[s]. Please fix your code\n' | 2015 'Found ifdef check on always-defined macro[s]. Please fix your code\n' |
2018 'or check the list of ALWAYS_DEFINED_MACROS in src/PRESUBMIT.py.', | 2016 'or check the list of ALWAYS_DEFINED_MACROS in src/PRESUBMIT.py.', |
2019 bad_macros)] | 2017 bad_macros)] |
2020 | 2018 |
2021 | 2019 |
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 | |
2036 def _CheckForIPCRules(input_api, output_api): | 2020 def _CheckForIPCRules(input_api, output_api): |
2037 """Check for same IPC rules described in | 2021 """Check for same IPC rules described in |
2038 http://www.chromium.org/Home/chromium-security/education/security-tips-for-ipc | 2022 http://www.chromium.org/Home/chromium-security/education/security-tips-for-ipc |
2039 """ | 2023 """ |
2040 base_pattern = r'IPC_ENUM_TRAITS\(' | 2024 base_pattern = r'IPC_ENUM_TRAITS\(' |
2041 inclusion_pattern = input_api.re.compile(r'(%s)' % base_pattern) | 2025 inclusion_pattern = input_api.re.compile(r'(%s)' % base_pattern) |
2042 comment_pattern = input_api.re.compile(r'//.*(%s)' % base_pattern) | 2026 comment_pattern = input_api.re.compile(r'//.*(%s)' % base_pattern) |
2043 | 2027 |
2044 problems = [] | 2028 problems = [] |
2045 for f in input_api.AffectedSourceFiles(None): | 2029 for f in input_api.AffectedSourceFiles(None): |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2147 results.extend(input_api.canned_checks.CheckTreeIsOpen( | 2131 results.extend(input_api.canned_checks.CheckTreeIsOpen( |
2148 input_api, | 2132 input_api, |
2149 output_api, | 2133 output_api, |
2150 json_url='http://chromium-status.appspot.com/current?format=json')) | 2134 json_url='http://chromium-status.appspot.com/current?format=json')) |
2151 | 2135 |
2152 results.extend(input_api.canned_checks.CheckChangeHasBugField( | 2136 results.extend(input_api.canned_checks.CheckChangeHasBugField( |
2153 input_api, output_api)) | 2137 input_api, output_api)) |
2154 results.extend(input_api.canned_checks.CheckChangeHasDescription( | 2138 results.extend(input_api.canned_checks.CheckChangeHasDescription( |
2155 input_api, output_api)) | 2139 input_api, output_api)) |
2156 return results | 2140 return results |
OLD | NEW |