| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 """ | 5 """ |
| 6 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts | 6 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
| 7 for more details on the presubmit API built into depot_tools. | 7 for more details on the presubmit API built into depot_tools. |
| 8 """ | 8 """ |
| 9 | 9 |
| 10 | 10 |
| 11 def CheckChange(input_api, output_api): | 11 def CheckChange(input_api, output_api): |
| 12 """Checks that histograms.xml is pretty-printed and well-formatted.""" | 12 """Checks that histograms.xml is pretty-printed and well-formatted.""" |
| 13 for f in input_api.AffectedTextFiles(): | 13 for f in input_api.AffectedTextFiles(): |
| 14 p = f.AbsoluteLocalPath() | 14 p = f.AbsoluteLocalPath() |
| 15 if (input_api.basename(p) == 'histograms.xml' | 15 if input_api.basename(p) != 'histograms.xml': |
| 16 and input_api.os_path.dirname(p) == input_api.PresubmitLocalPath()): | 16 continue |
| 17 cwd = input_api.os_path.dirname(p) | 17 cwd = input_api.os_path.dirname(p) |
| 18 exit_code = input_api.subprocess.call( | 18 if cwd != input_api.PresubmitLocalPath(): |
| 19 ['python', 'pretty_print.py', '--presubmit'], cwd=cwd) | 19 continue |
| 20 if exit_code != 0: | |
| 21 return [output_api.PresubmitError( | |
| 22 'histograms.xml is not formatted correctly; run %s/pretty_print.py ' | |
| 23 'to fix' % input_api.PresubmitLocalPath())] | |
| 24 | 20 |
| 25 exit_code = input_api.subprocess.call( | 21 exit_code = input_api.subprocess.call( |
| 26 ['python', 'validate_format.py'], cwd=cwd) | 22 ['python', 'validate_format.py'], cwd=cwd) |
| 27 if exit_code != 0: | 23 if exit_code != 0: |
| 28 return [output_api.PresubmitError( | 24 return [output_api.PresubmitError( |
| 29 'histograms.xml is not well formatted; run %s/validate_format.py ' | 25 'histograms.xml is not well formatted; run %s/validate_format.py ' |
| 30 'and fix the reported errors' % input_api.PresubmitLocalPath())] | 26 'and fix the reported errors' % cwd)] |
| 31 return [] | 27 return [] |
| 32 | 28 |
| 33 | 29 |
| 34 def CheckChangeOnUpload(input_api, output_api): | 30 def CheckChangeOnUpload(input_api, output_api): |
| 35 return CheckChange(input_api, output_api) | 31 return CheckChange(input_api, output_api) |
| 36 | 32 |
| 37 | 33 |
| 38 def CheckChangeOnCommit(input_api, output_api): | 34 def CheckChangeOnCommit(input_api, output_api): |
| 39 return CheckChange(input_api, output_api) | 35 return CheckChange(input_api, output_api) |
| OLD | NEW |