Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(944)

Side by Side Diff: depot_tools/presubmit_canned_checks.py

Issue 7747023: Ignore C++ comments while checking for Singleton<T> in headers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/
Patch Set: '' Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2011 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 """Generic presubmit checks that can be reused by other presubmit checks.""" 5 """Generic presubmit checks that can be reused by other presubmit checks."""
6 6
7 7
8 ### Description checks 8 ### Description checks
9 9
10 def CheckChangeHasTestField(input_api, output_api): 10 def CheckChangeHasTestField(input_api, output_api):
11 """Requires that the changelist have a TEST= field.""" 11 """Requires that the changelist have a TEST= field."""
(...skipping 809 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 else: 821 else:
822 res_type = output_api.PresubmitNotifyResult 822 res_type = output_api.PresubmitNotifyResult
823 return [ res_type('|const NSClass*| is wrong, see ' + 823 return [ res_type('|const NSClass*| is wrong, see ' +
824 'http://dev.chromium.org/developers/clang-mac', 824 'http://dev.chromium.org/developers/clang-mac',
825 files) ] 825 files) ]
826 return [] 826 return []
827 827
828 828
829 def _CheckSingletonInHeaders(input_api, output_api, source_file_filter): 829 def _CheckSingletonInHeaders(input_api, output_api, source_file_filter):
830 """Checks to make sure no header files have |Singleton<|.""" 830 """Checks to make sure no header files have |Singleton<|."""
831 pattern = input_api.re.compile(r'Singleton<') 831 pattern = input_api.re.compile(r'Singleton\s*<')
832 files = [] 832 files = []
833 for f in input_api.AffectedSourceFiles(source_file_filter): 833 for f in input_api.AffectedSourceFiles(source_file_filter):
834 if (f.LocalPath().endswith('.h') or f.LocalPath().endswith('.hxx') or 834 if (f.LocalPath().endswith('.h') or f.LocalPath().endswith('.hxx') or
835 f.LocalPath().endswith('.hpp') or f.LocalPath().endswith('.inl')): 835 f.LocalPath().endswith('.hpp') or f.LocalPath().endswith('.inl')):
836 contents = input_api.ReadFile(f) 836 contents = input_api.ReadFile(f)
837 if pattern.search(contents): 837 for line in contents.splitlines(False):
838 files.append(f) 838 line = input_api.re.sub(r'//.*$', '', line) # Strip C++ comment.
839 if pattern.search(line):
840 files.append(f)
841 break
839 842
840 if files: 843 if files:
841 return [ output_api.PresubmitError( 844 return [ output_api.PresubmitError(
842 'Found Singleton<T> in the following header files.\n' + 845 'Found Singleton<T> in the following header files.\n' +
843 'Please move them to an appropriate source file so that the ' + 846 'Please move them to an appropriate source file so that the ' +
844 'template gets instantiated in a single compilation unit.', 847 'template gets instantiated in a single compilation unit.',
845 files) ] 848 files) ]
846 return [] 849 return []
847 850
848 851
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
936 results.extend(input_api.canned_checks.CheckSvnForCommonMimeTypes( 939 results.extend(input_api.canned_checks.CheckSvnForCommonMimeTypes(
937 input_api, output_api)) 940 input_api, output_api))
938 snapshot("checking license") 941 snapshot("checking license")
939 results.extend(input_api.canned_checks.CheckLicense( 942 results.extend(input_api.canned_checks.CheckLicense(
940 input_api, output_api, license_header, source_file_filter=sources)) 943 input_api, output_api, license_header, source_file_filter=sources))
941 snapshot("checking was uploaded") 944 snapshot("checking was uploaded")
942 results.extend(input_api.canned_checks.CheckChangeWasUploaded( 945 results.extend(input_api.canned_checks.CheckChangeWasUploaded(
943 input_api, output_api)) 946 input_api, output_api))
944 snapshot("done") 947 snapshot("done")
945 return results 948 return results
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698