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}
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index df891a6..c8ac165 100755
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -381,8 +381,8 @@
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 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):