diff options
author | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-19 18:56:47 +0000 |
---|---|---|
committer | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-19 18:56:47 +0000 |
commit | f75df8d4f5607bc425a306b480d99d4bfd944aa8 (patch) | |
tree | c54e8e634ccfc10b0f9a247ccea7e94f5d66bf08 | |
parent | 28164cbf4787643ad22efc12b439ba0cff93cc63 (diff) | |
download | chromium_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.py | 18 |
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) |