OLD | NEW |
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 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 """Top-level presubmit script for commit-queue. | 5 """Top-level presubmit script for commit-queue. |
6 | 6 |
7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for | 7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for |
8 details on the presubmit API built into gcl. | 8 details on the presubmit API built into gcl. |
9 """ | 9 """ |
10 | 10 |
11 import os | 11 import os |
12 | 12 |
13 | 13 |
14 def CommonChecks(input_api, output_api): | 14 def CommonChecks(input_api, output_api): |
15 output = [] | 15 output = [] |
16 black_list = list(input_api.DEFAULT_BLACK_LIST) + [ | 16 black_list = list(input_api.DEFAULT_BLACK_LIST) + [ |
17 r'^workdir/.*', | 17 r'^workdir/.*', |
18 r'^thirdparty/.*' | |
19 ] | 18 ] |
20 output.extend(input_api.canned_checks.RunPylint( | 19 output.extend(input_api.canned_checks.RunPylint( |
21 input_api, output_api, black_list=black_list)) | 20 input_api, output_api, black_list=black_list)) |
22 output.extend(RunUnittests(input_api, output_api)) | 21 output.extend(RunUnittests(input_api, output_api)) |
23 return output | 22 return output |
24 | 23 |
25 | 24 |
26 def CheckChangeOnUpload(input_api, output_api): | 25 def CheckChangeOnUpload(input_api, output_api): |
27 return CommonChecks(input_api, output_api) | 26 return CommonChecks(input_api, output_api) |
28 | 27 |
29 | 28 |
30 def CheckChangeOnCommit(input_api, output_api): | 29 def CheckChangeOnCommit(input_api, output_api): |
31 return CommonChecks(input_api, output_api) | 30 return CommonChecks(input_api, output_api) |
32 | 31 |
33 | 32 |
34 def RunUnittests(input_api, output_api): | 33 def RunUnittests(input_api, output_api): |
35 out = [] | 34 out = [] |
36 path = input_api.os_path.join(input_api.PresubmitLocalPath(), 'tests') | 35 path = input_api.os_path.join(input_api.PresubmitLocalPath(), 'tests') |
37 for item in os.listdir(path): | 36 for item in os.listdir(path): |
38 if not item.endswith('test.py'): | 37 if not item.endswith('test.py'): |
39 continue | 38 continue |
40 proc = input_api.subprocess.Popen([ | 39 proc = input_api.subprocess.Popen([ |
41 input_api.os_path.join('tests', item), '-q']) | 40 input_api.os_path.join('tests', item), '-q']) |
42 proc.communicate() | 41 proc.communicate() |
43 if proc.returncode: | 42 if proc.returncode: |
44 out.append(output_api.PresubmitError('Unit test %s failed' % item)) | 43 out.append(output_api.PresubmitError('Unit test %s failed' % item)) |
45 return out | 44 return out |
OLD | NEW |