Relaxing no-streams presubmit check (streams are allowed in tests).

It is actually fine to use streams in testonly code. This CL relaxes
the presubmit check in order allow streams usage in tests.

Bug: webrtc:8982
Change-Id: I18bbf079e804815956cd94ac761cc13022c0761e
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/61701
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#22482}
This commit is contained in:
Mirko Bonadei
2018-03-15 15:05:56 +01:00
committed by Commit Bot
parent 9fa35e5285
commit 73ac90863d
2 changed files with 83 additions and 7 deletions

View File

@ -410,6 +410,10 @@ def _ReportErrorFileAndLineNumber(filename, line_num):
def CheckNoStreamUsageIsAdded(input_api, output_api,
error_formatter=_ReportErrorFileAndLineNumber):
"""Make sure that no more dependencies on stringstream are added."""
with _AddToPath(input_api.os_path.join(
input_api.PresubmitLocalPath(), 'tools_webrtc', 'presubmit_checks_lib')):
from gn_refs import DefaultGnProject, BelongsToTestTarget
error_msg = ('Usage of <sstream>, <istream> and <ostream> in WebRTC is '
'deprecated.\n'
'This includes the following types:\n'
@ -433,13 +437,15 @@ def CheckNoStreamUsageIsAdded(input_api, output_api,
usage_re = input_api.re.compile(r'std::(w|i|o|io|wi|wo|wio)(string)*stream')
no_presubmit_re = input_api.re.compile(
r' // no-presubmit-check TODO\(webrtc:8982\)')
for f in input_api.AffectedSourceFiles(input_api.FilterSourceFile):
if f.LocalPath() == 'PRESUBMIT.py':
continue
for line_num, line in f.ChangedContents():
if ((include_re.search(line) or usage_re.search(line))
and not no_presubmit_re.search(line)):
errors.append(error_formatter(f.LocalPath(), line_num))
is_cpp_file = lambda f: f.LocalPath().endswith(('.cc', '.h'))
with DefaultGnProject() as out_dir:
for f in input_api.AffectedFiles(file_filter=is_cpp_file):
if BelongsToTestTarget(f.LocalPath(), out_dir):
continue
for line_num, line in f.ChangedContents():
if ((include_re.search(line) or usage_re.search(line))
and not no_presubmit_re.search(line)):
errors.append(error_formatter(f.LocalPath(), line_num))
if errors:
return [output_api.PresubmitError(error_msg, errors)]
return []