diff --git a/presubmit_support.py b/presubmit_support.py index 3a05c4b8e..9b339d4e4 100755 --- a/presubmit_support.py +++ b/presubmit_support.py @@ -652,10 +652,14 @@ class InputApi(object): # Temporary files we must manually remove at the end of a run. self._named_temporary_files = [] - # TODO(dpranke): figure out a list of all approved owners for a repo - # in order to be able to handle wildcard OWNERS files? - self.owners_client = owners_client.DepotToolsClient( - change.RepositoryRoot(), change.UpstreamBranch(), os_path=self.os_path) + self.owners_client = None + if self.gerrit: + self.owners_client = owners_client.GetCodeOwnersClient( + root=change.RepositoryRoot(), + upstream=change.UpstreamBranch(), + host=self.gerrit.host, + project=self.gerrit.project, + branch=self.gerrit.branch) self.owners_db = owners_db.Database( change.RepositoryRoot(), fopen=open, os_path=self.os_path) self.owners_finder = owners_finder.OwnersFinder diff --git a/tests/presubmit_unittest.py b/tests/presubmit_unittest.py index fc4e1df40..8d9a9c5d6 100755 --- a/tests/presubmit_unittest.py +++ b/tests/presubmit_unittest.py @@ -178,6 +178,7 @@ index fe3de7b..54ae6e1 100755 mock.patch('gclient_utils.FileWrite').start() mock.patch('json.load').start() mock.patch('multiprocessing.cpu_count', lambda: 2) + mock.patch('gerrit_util.IsCodeOwnersEnabled').start() mock.patch('os.chdir').start() mock.patch('os.getcwd', self.RootDir) mock.patch('os.listdir').start() @@ -2749,9 +2750,9 @@ the current line as well! input_api.dry_run = dry_run input_api.gerrit._FetchChangeDetail = lambda _: response - input_api.owners_client = owners_client.DepotToolsClient('root', 'branch') + input_api.owners_client = owners_client.OwnersClient() - with mock.patch('owners_client.DepotToolsClient.ListOwners', + with mock.patch('owners_client.OwnersClient.ListOwners', side_effect=lambda f: owners_by_path.get(f, [])): results = presubmit_canned_checks.CheckOwners( input_api, presubmit.OutputApi, allow_tbr=allow_tbr)