Add presubmit check to guard against assert() usage.
Example of error reporting: Usage of assert() has been detected in the following files, please use RTC_DCHECK() instead. Files: rtc_base/thread.cc Bug: webrtc:6779 Change-Id: Iae08c3d7ddcc0449073752cadca19b3cf662892c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225549 Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34532}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
b0ed12099f
commit
a6395132ae
24
PRESUBMIT.py
24
PRESUBMIT.py
@ -1041,6 +1041,8 @@ def CommonChecks(input_api, output_api):
|
||||
results.extend(CheckApiDepsFileIsUpToDate(input_api, output_api))
|
||||
results.extend(
|
||||
CheckAbslMemoryInclude(input_api, output_api, non_third_party_sources))
|
||||
results.extend(
|
||||
CheckAssertUsage(input_api, output_api, non_third_party_sources))
|
||||
results.extend(
|
||||
CheckBannedAbslMakeUnique(input_api, output_api,
|
||||
non_third_party_sources))
|
||||
@ -1158,6 +1160,28 @@ def CheckObjcApiSymbols(input_api, output_api, source_file_filter):
|
||||
return []
|
||||
|
||||
|
||||
def CheckAssertUsage(input_api, output_api, source_file_filter):
|
||||
pattern = input_api.re.compile(r'\bassert\(')
|
||||
file_filter = lambda f: (f.LocalPath().endswith(('.cc', '.h', '.m', '.mm'))
|
||||
and source_file_filter(f))
|
||||
|
||||
files = []
|
||||
for f in input_api.AffectedFiles(include_deletes=False,
|
||||
file_filter=file_filter):
|
||||
for _, line in f.ChangedContents():
|
||||
if pattern.search(line):
|
||||
files.append(f.LocalPath())
|
||||
break
|
||||
|
||||
if len(files):
|
||||
return [
|
||||
output_api.PresubmitError(
|
||||
'Usage of assert() has been detected in the following files, '
|
||||
'please use RTC_DCHECK() instead.\n Files:', files)
|
||||
]
|
||||
return []
|
||||
|
||||
|
||||
def CheckAbslMemoryInclude(input_api, output_api, source_file_filter):
|
||||
pattern = input_api.re.compile(r'^#include\s*"absl/memory/memory.h"',
|
||||
input_api.re.MULTILINE)
|
||||
|
||||
Reference in New Issue
Block a user