| OLD | NEW |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import sys | 5 import sys |
| 6 | 6 |
| 7 def _RunArgs(args, input_api): | 7 def _RunArgs(args, input_api): |
| 8 p = input_api.subprocess.Popen(args, stdout=input_api.subprocess.PIPE, | 8 p = input_api.subprocess.Popen(args, stdout=input_api.subprocess.PIPE, |
| 9 stderr=input_api.subprocess.STDOUT) | 9 stderr=input_api.subprocess.STDOUT) |
| 10 out, _ = p.communicate() | 10 out, _ = p.communicate() |
| 11 return (out, p.returncode) | 11 return (out, p.returncode) |
| 12 | 12 |
| 13 | 13 |
| 14 def _CheckRegisteredMetrics(input_api, output_api): | 14 def _CheckRegisteredMetrics(input_api, output_api): |
| 15 """ Check that all tracing metrics are imported in all_metrics.html """ | 15 """ Check that all tracing metrics are imported in all_metrics.html """ |
| 16 results = [] | 16 results = [] |
| 17 tracing_dir = input_api.PresubmitLocalPath() | 17 tracing_dir = input_api.PresubmitLocalPath() |
| 18 out, return_code = _RunArgs( | 18 out, return_code = _RunArgs( |
| 19 [input_api.python_executable, | 19 [input_api.python_executable, |
| 20 input_api.os_path.join(tracing_dir, 'bin', 'validate_all_metrics')], | 20 input_api.os_path.join(tracing_dir, 'bin', 'validate_all_metrics')], |
| 21 input_api) | 21 input_api) |
| 22 if return_code: | 22 if return_code: |
| 23 results.append(output_api.PresubmitError( | 23 results.append(output_api.PresubmitError( |
| 24 'Failed validate_all_metrics: ', long_text=out)) | 24 'Failed validate_all_metrics: ', long_text=out)) |
| 25 return results | 25 return results |
| 26 | 26 |
| 27 | 27 |
| 28 def _CheckRegisteredDiagnostics(input_api, output_api): |
| 29 """Check that all Diagnostic subclasses are registered.""" |
| 30 results = [] |
| 31 tracing_dir = input_api.PresubmitLocalPath() |
| 32 out, return_code = _RunArgs( |
| 33 [input_api.python_executable, |
| 34 input_api.os_path.join(tracing_dir, 'bin', 'validate_all_diagnostics')], |
| 35 input_api) |
| 36 if return_code: |
| 37 results.append(output_api.PresubmitError( |
| 38 'Failed validate_all_diagnostics: ', long_text=out)) |
| 39 return results |
| 40 |
| 41 |
| 42 |
| 28 def CheckChangeOnUpload(input_api, output_api): | 43 def CheckChangeOnUpload(input_api, output_api): |
| 29 return _CheckChange(input_api, output_api) | 44 return _CheckChange(input_api, output_api) |
| 30 | 45 |
| 31 | 46 |
| 32 def CheckChangeOnCommit(input_api, output_api): | 47 def CheckChangeOnCommit(input_api, output_api): |
| 33 return _CheckChange(input_api, output_api) | 48 return _CheckChange(input_api, output_api) |
| 34 | 49 |
| 35 | 50 |
| 36 def _CheckChange(input_api, output_api): | 51 def _CheckChange(input_api, output_api): |
| 37 results = [] | 52 results = [] |
| 38 | 53 |
| 39 original_sys_path = sys.path | 54 original_sys_path = sys.path |
| 40 try: | 55 try: |
| 41 sys.path += [input_api.PresubmitLocalPath()] | 56 sys.path += [input_api.PresubmitLocalPath()] |
| 42 from tracing_build import check_gypi | 57 from tracing_build import check_gypi |
| 43 error = check_gypi.GypiCheck() | 58 error = check_gypi.GypiCheck() |
| 44 if error: | 59 if error: |
| 45 results.append(output_api.PresubmitError(error)) | 60 results.append(output_api.PresubmitError(error)) |
| 46 finally: | 61 finally: |
| 47 sys.path = original_sys_path | 62 sys.path = original_sys_path |
| 48 | 63 |
| 49 results += input_api.RunTests(input_api.canned_checks.GetPylint( | 64 results += input_api.RunTests(input_api.canned_checks.GetPylint( |
| 50 input_api, output_api, extra_paths_list=_GetPathsToPrepend(input_api), | 65 input_api, output_api, extra_paths_list=_GetPathsToPrepend(input_api), |
| 51 pylintrc='../pylintrc')) | 66 pylintrc='../pylintrc')) |
| 52 | 67 |
| 53 results += _CheckRegisteredMetrics(input_api, output_api) | 68 results += _CheckRegisteredMetrics(input_api, output_api) |
| 69 results += _CheckRegisteredDiagnostics(input_api, output_api) |
| 54 | 70 |
| 55 return results | 71 return results |
| 56 | 72 |
| 57 | 73 |
| 58 def _GetPathsToPrepend(input_api): | 74 def _GetPathsToPrepend(input_api): |
| 59 project_dir = input_api.PresubmitLocalPath() | 75 project_dir = input_api.PresubmitLocalPath() |
| 60 catapult_dir = input_api.os_path.join(project_dir, '..') | 76 catapult_dir = input_api.os_path.join(project_dir, '..') |
| 61 return [ | 77 return [ |
| 62 project_dir, | 78 project_dir, |
| 63 input_api.os_path.join(catapult_dir, 'third_party', 'mock'), | 79 input_api.os_path.join(catapult_dir, 'third_party', 'mock'), |
| 64 ] | 80 ] |
| OLD | NEW |