From c9ca44de8bf0762d802ccbb9336321145aadc8ee Mon Sep 17 00:00:00 2001 From: "enne@chromium.org" Date: Sun, 6 Jan 2013 05:45:11 +0000 Subject: cc: Ban (f)printf via presubmit.py I see these accidentally leak into codereview sometimes, and it'd be nice to just have it automatically be prevented. NOTRY=true R=danakj@chromium.org BUG=none Review URL: https://chromiumcodereview.appspot.com/11794017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175296 0039d316-1c4b-4281-b951-d872f2087c98 --- cc/PRESUBMIT.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'cc/PRESUBMIT.py') diff --git a/cc/PRESUBMIT.py b/cc/PRESUBMIT.py index 1c3613a..319d3b5 100644 --- a/cc/PRESUBMIT.py +++ b/cc/PRESUBMIT.py @@ -11,6 +11,7 @@ details on the presubmit API built into gcl. import re CC_SOURCE_FILES=(r'^cc/.*\.(cc|h)$',) +CC_PERF_TEST =(r'^.*_perftest.*\.(cc|h)$',) def CheckAsserts(input_api, output_api, white_list=CC_SOURCE_FILES, black_list=None): black_list = tuple(black_list or input_api.DEFAULT_BLACK_LIST) @@ -42,24 +43,31 @@ def CheckSpamLogging(input_api, output_api, white_list=CC_SOURCE_FILES, black_li black_list = tuple(black_list or input_api.DEFAULT_BLACK_LIST) source_file_filter = lambda x: input_api.FilterSourceFile(x, white_list, black_list) - bad_files = [] + log_info = [] + printf = [] for f in input_api.AffectedSourceFiles(source_file_filter): contents = input_api.ReadFile(f, 'rb') if re.search(r"\bD?LOG\s*\(\s*INFO\s*\)", contents): - bad_files.append(f.LocalPath()) + log_info.append(f.LocalPath()) + if re.search(r"\bf?printf\(", contents): + printf.append(f.LocalPath()) - if bad_files: + if log_info: return [output_api.PresubmitError( 'These files spam the console log with LOG(INFO):', - items=bad_files)] + items=log_info)] + if printf: + return [output_api.PresubmitError( + 'These files spam the console log with printf/fprintf:', + items=printf)] return [] def CheckChangeOnUpload(input_api, output_api): results = [] results += CheckAsserts(input_api, output_api) - results += CheckSpamLogging(input_api, output_api) + results += CheckSpamLogging(input_api, output_api, black_list=CC_PERF_TEST) return results def GetPreferredTrySlaves(project, change): -- cgit v1.1