pre-upload.py: Ignore license check for DIR_METADATA files

See http://go/chromium-metadata-files for details on the metadata files.

BUG=b:172930457
TEST=./pre-upload_unittest.py

Change-Id: I5137eefba84125926a48b9307907ea1fa31b298d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/repohooks/+/2529699
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Tom Hughes <tomhughes@chromium.org>
Tested-by: Tom Hughes <tomhughes@chromium.org>
diff --git a/pre-upload.py b/pre-upload.py
index 26b0a7e..00f36c1 100755
--- a/pre-upload.py
+++ b/pre-upload.py
@@ -107,6 +107,7 @@
 
 LICENSE_EXCLUDED_PATHS = [
     r'^(.*/)?OWNERS(\..*)?$',
+    r'^(.*/)?DIR_METADATA(\..*)?$',
 ]
 
 _CONFIG_FILE = 'PRESUBMIT.cfg'
diff --git a/pre-upload_unittest.py b/pre-upload_unittest.py
index 4a98523..93a8f6f 100755
--- a/pre-upload_unittest.py
+++ b/pre-upload_unittest.py
@@ -984,6 +984,12 @@
     self.content_mock.return_value = u'owner@chromium.org'
     self.assertFalse(pre_upload._check_cros_license('proj', 'sha1'))
 
+  def testIgnoreMetadataFiles(self):
+    """Ignores metadata files for license checks."""
+    self.file_mock.return_value = ['foo/DIR_METADATA']
+    self.content_mock.return_value = u'team_email: "team@chromium.org"'
+    self.assertFalse(pre_upload._check_cros_license('proj', 'sha1'))
+
   def testIgnoreTopLevelExcludedPaths(self):
     """Ignores excluded paths for license checks."""
     self.file_mock.return_value = ['OWNERS']