pre-upload: Exclude OWNERS files from license checks.
BUG=None
TEST=pre-upload_unittest.py passes
Change-Id: I37f53cce53bae365963b8a33c3081a4d9748bddd
Reviewed-on: https://chromium-review.googlesource.com/908177
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Ken Turner <kennetht@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/pre-upload.py b/pre-upload.py
index 3608d45..74cdda4 100755
--- a/pre-upload.py
+++ b/pre-upload.py
@@ -78,6 +78,9 @@
r".*/licenses/.*",
]
+LICENSE_EXCLUDED_PATHS = [
+ r".*/OWNERS$",
+]
_CONFIG_FILE = 'PRESUBMIT.cfg'
@@ -1045,9 +1048,10 @@
bad_files = []
bad_copyright_files = []
- files = _filter_files(_get_affected_files(commit, relative=True),
- included + COMMON_INCLUDED_PATHS,
- excluded + COMMON_EXCLUDED_PATHS)
+ files = _filter_files(
+ _get_affected_files(commit, relative=True),
+ included + COMMON_INCLUDED_PATHS,
+ excluded + COMMON_EXCLUDED_PATHS + LICENSE_EXCLUDED_PATHS)
for f in files:
contents = _get_file_content(f, commit)
@@ -1100,9 +1104,10 @@
included, excluded = _parse_common_inclusion_options(options)
- files = _filter_files(_get_affected_files(commit, relative=True),
- included + COMMON_INCLUDED_PATHS,
- excluded + COMMON_EXCLUDED_PATHS)
+ files = _filter_files(
+ _get_affected_files(commit, relative=True),
+ included + COMMON_INCLUDED_PATHS,
+ excluded + COMMON_EXCLUDED_PATHS + LICENSE_EXCLUDED_PATHS)
bad_files = []
for f in files:
diff --git a/pre-upload_unittest.py b/pre-upload_unittest.py
index b436771..e38fb96 100755
--- a/pre-upload_unittest.py
+++ b/pre-upload_unittest.py
@@ -675,6 +675,12 @@
self.content_mock.return_value = header
self.assertNotEqual(None, pre_upload._check_cros_license('proj', 'sha1'))
+ def testIgnoreExcludedPaths(self):
+ """Ignores excluded paths for license checks."""
+ self.file_mock.return_value = ['foo/OWNERS']
+ self.content_mock.return_value = ('owner@chromium.org')
+ self.assertEqual(None, pre_upload._check_cros_license('proj', 'sha1'))
+
class CheckAOSPLicenseCopyrightHeader(cros_test_lib.MockTestCase):
"""Tests for _check_aosp_license."""
@@ -747,6 +753,12 @@
self.content_mock.return_value = header
self.assertNotEqual(None, pre_upload._check_aosp_license('proj', 'sha1'))
+ def testIgnoreExcludedPaths(self):
+ """Ignores excluded paths for license checks."""
+ self.file_mock.return_value = ['foo/OWNERS']
+ self.content_mock.return_value = ('owner@chromium.org')
+ self.assertEqual(None, pre_upload._check_aosp_license('proj', 'sha1'))
+
class CheckLayoutConfTestCase(cros_test_lib.MockTestCase):
"""Tests for _check_layout_conf."""