Fix bugs in check_package_boundaries.py presubmit

It was not producing any results on presubmit for 2 reasons:
- The list of modified GN files contained relative paths but the list
  of all GN files contains absolute paths.
- The root directory was not passed to the script and the path of the
  first file substituted it.

Fix potential problem with using unescaped names in a regex.

Blacklist testdata directory with intentionally bad BUILD.gn files.

NOTRY=True

Bug: webrtc:6954
Change-Id: Ib0b845b9440b594960bc8a656e8a84d2ccb4a684
Reviewed-on: https://webrtc-review.googlesource.com/5981
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20149}
This commit is contained in:
Oleh Prypin
2017-10-04 15:56:08 +02:00
committed by Commit Bot
parent 88b23f6662
commit afe016501e
6 changed files with 55 additions and 7 deletions

View File

@ -381,8 +381,8 @@ def CheckNoPackageBoundaryViolations(input_api, gn_files, output_api):
cwd = input_api.PresubmitLocalPath()
script_path = os.path.join('tools_webrtc', 'presubmit_checks_lib',
'check_package_boundaries.py')
command = [sys.executable, script_path]
command += [gn_file.LocalPath() for gn_file in gn_files]
command = [sys.executable, script_path, cwd]
command += [os.path.join(cwd, gn_file.LocalPath()) for gn_file in gn_files]
returncode, _, stderr = _RunCommand(command, cwd)
if returncode:
return [output_api.PresubmitError(
@ -392,7 +392,8 @@ def CheckNoPackageBoundaryViolations(input_api, gn_files, output_api):
def CheckGnChanges(input_api, output_api):
source_file_filter = lambda x: input_api.FilterSourceFile(
x, white_list=(r'.+\.(gn|gni)$',))
x, white_list=(r'.+\.(gn|gni)$',),
black_list=r'.*/presubmit_checks_lib/testdata/.*')
gn_files = []
for f in input_api.AffectedSourceFiles(source_file_filter):