1cef7893435aa41160dd1255c43cb8498279738ccChris Craik# Copyright 2015 The Chromium Authors. All rights reserved.
2cef7893435aa41160dd1255c43cb8498279738ccChris Craik# Use of this source code is governed by a BSD-style license that can be
3cef7893435aa41160dd1255c43cb8498279738ccChris Craik# found in the LICENSE file.
4cef7893435aa41160dd1255c43cb8498279738ccChris Craik
5cef7893435aa41160dd1255c43cb8498279738ccChris Craik
6cef7893435aa41160dd1255c43cb8498279738ccChris Craikdef CheckChangeOnUpload(input_api, output_api):
7cef7893435aa41160dd1255c43cb8498279738ccChris Craik  return _CommonChecks(input_api, output_api)
8cef7893435aa41160dd1255c43cb8498279738ccChris Craik
9cef7893435aa41160dd1255c43cb8498279738ccChris Craik
10cef7893435aa41160dd1255c43cb8498279738ccChris Craikdef CheckChangeOnCommit(input_api, output_api):
11cef7893435aa41160dd1255c43cb8498279738ccChris Craik  return _CommonChecks(input_api, output_api)
12cef7893435aa41160dd1255c43cb8498279738ccChris Craik
13cef7893435aa41160dd1255c43cb8498279738ccChris Craik
14cef7893435aa41160dd1255c43cb8498279738ccChris Craikdef _CommonChecks(input_api, output_api):
15cef7893435aa41160dd1255c43cb8498279738ccChris Craik  results = []
16cef7893435aa41160dd1255c43cb8498279738ccChris Craik  results += input_api.RunTests(input_api.canned_checks.GetPylint(
17cef7893435aa41160dd1255c43cb8498279738ccChris Craik      input_api, output_api, extra_paths_list=_GetPathsToPrepend(input_api),
18cef7893435aa41160dd1255c43cb8498279738ccChris Craik      pylintrc='pylintrc'))
19cef7893435aa41160dd1255c43cb8498279738ccChris Craik  return results
20cef7893435aa41160dd1255c43cb8498279738ccChris Craik
21cef7893435aa41160dd1255c43cb8498279738ccChris Craik
22cef7893435aa41160dd1255c43cb8498279738ccChris Craikdef _GetPathsToPrepend(input_api):
23cef7893435aa41160dd1255c43cb8498279738ccChris Craik  project_dir = input_api.PresubmitLocalPath()
24cef7893435aa41160dd1255c43cb8498279738ccChris Craik  catapult_dir = input_api.os_path.join(project_dir, '..')
25cef7893435aa41160dd1255c43cb8498279738ccChris Craik  return [
26cef7893435aa41160dd1255c43cb8498279738ccChris Craik      project_dir,
27cef7893435aa41160dd1255c43cb8498279738ccChris Craik
287332cdb42368a904cbf7418de329868989e592daChris Craik      input_api.os_path.join(catapult_dir, 'common', 'py_utils'),
29cef7893435aa41160dd1255c43cb8498279738ccChris Craik
30cef7893435aa41160dd1255c43cb8498279738ccChris Craik      input_api.os_path.join(catapult_dir, 'third_party', 'mock'),
31cef7893435aa41160dd1255c43cb8498279738ccChris Craik      input_api.os_path.join(catapult_dir, 'third_party', 'pyfakefs'),
32cef7893435aa41160dd1255c43cb8498279738ccChris Craik  ]
33