summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-19 18:56:47 +0000
committerjoi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-19 18:56:47 +0000
commitf75df8d4f5607bc425a306b480d99d4bfd944aa8 (patch)
treec54e8e634ccfc10b0f9a247ccea7e94f5d66bf08
parent28164cbf4787643ad22efc12b439ba0cff93cc63 (diff)
downloadchromium_src-f75df8d4f5607bc425a306b480d99d4bfd944aa8.zip
chromium_src-f75df8d4f5607bc425a306b480d99d4bfd944aa8.tar.gz
chromium_src-f75df8d4f5607bc425a306b480d99d4bfd944aa8.tar.bz2
Check for CCom(Ptr|BSTR|Variant) in files being touched in
a change and warn if they are present. BUG=none TEST=none Review URL: http://codereview.chromium.org/5198004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66787 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ceee/ceee_presubmit.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/ceee/ceee_presubmit.py b/ceee/ceee_presubmit.py
index 8037fb5..16820c7 100644
--- a/ceee/ceee_presubmit.py
+++ b/ceee/ceee_presubmit.py
@@ -51,6 +51,7 @@ def CheckChange(input_api, output_api, committing):
results += CheckLongLines(input_api, output_api)
results += CheckHasStoryOrBug(input_api, output_api)
results += LocalChecks(input_api, output_api)
+ results += WarnOnAtlSmartPointers(input_api, output_api)
results += CheckNoDllRegisterServer(input_api, output_api)
results += CheckUnittestsRan(input_api, output_api, committing)
if internal_presubmit:
@@ -180,6 +181,23 @@ def CheckNoDllRegisterServer(input_api, output_api):
return []
+def WarnOnAtlSmartPointers(input_api, output_api):
+ smart_pointer_re = re.compile(r'\bCCom(Ptr|BSTR|Variant)\b')
+ bad_files = []
+ for f in input_api.AffectedFiles(include_deletes=False):
+ contents = input_api.ReadFile(f, 'r')
+ if smart_pointer_re.search(contents):
+ bad_files.append(f.LocalPath())
+ if bad_files:
+ return [output_api.PresubmitPromptWarning(
+ 'The following files use CComPtr, CComBSTR and/or CComVariant.\n'
+ 'Please consider switching to ScopedComPtr, ScopedBstr and/or\n'
+ 'ScopedVariant as per team policy. (NOTE: Will soon be an error.)',
+ items=bad_files)]
+ else:
+ return []
+
+
def LocalChecks(input_api, output_api, max_cols=80):
"""Reports an error if for any source file in SOURCE_FILE_EXTENSIONS:
- uses CR (or CRLF)