pre-upload: Exclude top-level OWNERS files from license check

BUG=chromium:936046
TEST=pre-upload_unittest.py

Change-Id: I0417aa078adac1527cc90e83166e74131d2d97c7
Reviewed-on: https://chromium-review.googlesource.com/1584025
Commit-Ready: Chris McDonald <cjmcdonald@chromium.org>
Tested-by: Chris McDonald <cjmcdonald@chromium.org>
Reviewed-by: LaMont Jones <lamontjones@chromium.org>
diff --git a/pre-upload.py b/pre-upload.py
index 460e4af..1ccd7d4 100755
--- a/pre-upload.py
+++ b/pre-upload.py
@@ -89,7 +89,7 @@
 ]
 
 LICENSE_EXCLUDED_PATHS = [
-    r".*/OWNERS$",
+    r"^(.*/)?OWNERS$",
 ]
 
 _CONFIG_FILE = 'PRESUBMIT.cfg'
diff --git a/pre-upload_unittest.py b/pre-upload_unittest.py
index 115da98..0f71bf4 100755
--- a/pre-upload_unittest.py
+++ b/pre-upload_unittest.py
@@ -773,6 +773,11 @@
     self.content_mock.return_value = ('owner@chromium.org')
     self.assertEqual(None, pre_upload._check_cros_license('proj', 'sha1'))
 
+  def testIgnoreTopLevelExcludedPaths(self):
+    """Ignores excluded paths for license checks."""
+    self.file_mock.return_value = ['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."""
@@ -851,6 +856,11 @@
     self.content_mock.return_value = ('owner@chromium.org')
     self.assertEqual(None, pre_upload._check_aosp_license('proj', 'sha1'))
 
+  def testIgnoreTopLevelExcludedPaths(self):
+    """Ignores excluded paths for license checks."""
+    self.file_mock.return_value = ['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."""