Reland issue 671513010 check sync themes setting patch.
[chromium-blink-merge.git] / tools / telemetry / PRESUBMIT.py
blob52c88064f54b833c2a7378564f84e2bd4996a23d
1 # Copyright 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4 import os
5 import sys
7 PYLINT_BLACKLIST = []
8 PYLINT_DISABLED_WARNINGS = ['R0923', 'R0201', 'E1101']
10 def _CommonChecks(input_api, output_api):
11 results = []
13 # TODO(nduca): This should call update_docs.IsUpdateDocsNeeded().
14 # Disabled due to crbug.com/255326.
15 if False:
16 update_docs_path = os.path.join(
17 input_api.PresubmitLocalPath(), 'update_docs')
18 assert os.path.exists(update_docs_path)
19 results.append(output_api.PresubmitError(
20 'Docs are stale. Please run:\n' +
21 '$ %s' % os.path.abspath(update_docs_path)))
23 # Importing telemetry.web_components actually brings tvcm into the path.
24 import telemetry.web_components # pylint: disable=W0612
25 from tvcm import presubmit_checker
26 checker = presubmit_checker.PresubmitChecker(input_api, output_api)
27 results += checker.RunChecks()
29 results.extend(input_api.canned_checks.RunPylint(
30 input_api, output_api,
31 black_list=PYLINT_BLACKLIST,
32 disabled_warnings=PYLINT_DISABLED_WARNINGS))
33 return results
35 def GetPathsToPrepend(input_api):
36 return [input_api.PresubmitLocalPath()]
38 def RunWithPrependedPath(prepended_path, fn, *args):
39 old_path = sys.path
41 try:
42 sys.path = prepended_path + old_path
43 return fn(*args)
44 finally:
45 sys.path = old_path
47 def CheckChangeOnUpload(input_api, output_api):
48 def go():
49 results = []
50 results.extend(_CommonChecks(input_api, output_api))
51 return results
52 return RunWithPrependedPath(GetPathsToPrepend(input_api), go)
54 def CheckChangeOnCommit(input_api, output_api):
55 def go():
56 results = []
57 results.extend(_CommonChecks(input_api, output_api))
58 return results
59 return RunWithPrependedPath(GetPathsToPrepend(input_api), go)