Răsfoiți Sursa

Specify full dirmd path in CheckDirMetadataFormat

If dirmd_bin` is not provided, default to an absolute path to dirmd.
Otherwise, some builders can fail with a `No such file or directory:
'dirmd'.` like:
https://ci.chromium.org/ui/p/chromium/builders/ci/linux-presubmit/27711/infra

Bug: 416037494
Change-Id: Ibe3c0a80f2b605583321cce95241de62edcaec4b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6533317
Commit-Queue: Gavin Mak <gavinmak@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Gavin Mak 3 luni în urmă
părinte
comite
21c86aad65
2 a modificat fișierele cu 8 adăugiri și 5 ștergeri
  1. 2 1
      presubmit_canned_checks.py
  2. 6 4
      tests/presubmit_unittest.py

+ 2 - 1
presubmit_canned_checks.py

@@ -1472,7 +1472,8 @@ def CheckDirMetadataFormat(input_api, output_api, dirmd_bin=None):
     name = 'Validate metadata in OWNERS and DIR_METADATA files'
 
     if dirmd_bin is None:
-        dirmd_bin = 'dirmd.bat' if input_api.is_windows else 'dirmd'
+        dirmd_bin = input_api.os_path.join(
+            _HERE, 'dirmd.bat' if input_api.is_windows else 'dirmd')
 
     # When running git cl presubmit --all this presubmit may be asked to check
     # ~7,500 files, leading to a command line that is about 500,000 characters.

+ 6 - 4
tests/presubmit_unittest.py

@@ -3041,15 +3041,17 @@ the current line as well!
         })
 
         dirmd_bin = 'dirmd.bat' if input_api.is_windows else 'dirmd'
-        expected_cmd = [
-            dirmd_bin, 'validate', 'DIR_METADATA', 'a/DIR_METADATA',
-            'a/b/OWNERS'
+        expected_args = [
+            'validate', 'DIR_METADATA', 'a/DIR_METADATA', 'a/b/OWNERS'
         ]
 
         commands = presubmit_canned_checks.CheckDirMetadataFormat(
             input_api, presubmit.OutputApi)
         self.assertEqual(1, len(commands))
-        self.assertEqual(expected_cmd, commands[0].cmd)
+
+        command = commands[0].cmd
+        self.assertTrue(command[0].endswith(dirmd_bin))
+        self.assertEqual(expected_args, command[1:])
 
     def testCheckNoNewMetadataInOwners(self):
         input_api = self.GetInputApiWithFiles({