| 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 """Generic presubmit checks that can be reused by other presubmit checks.""" | 5 """Generic presubmit checks that can be reused by other presubmit checks.""" |
| 6 | 6 |
| 7 | 7 |
| 8 ### Description checks | 8 ### Description checks |
| 9 | 9 |
| 10 def CheckChangeHasTestField(input_api, output_api): | 10 def CheckChangeHasTestField(input_api, output_api): |
| (...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 508 cmd = [input_api.python_executable] | 508 cmd = [input_api.python_executable] |
| 509 cmd.append(unit_test) | 509 cmd.append(unit_test) |
| 510 if input_api.verbose: | 510 if input_api.verbose: |
| 511 print('Running %s' % unit_test) | 511 print('Running %s' % unit_test) |
| 512 cmd.append('--verbose') | 512 cmd.append('--verbose') |
| 513 try: | 513 try: |
| 514 if input_api.verbose: | 514 if input_api.verbose: |
| 515 input_api.subprocess.check_call(cmd, cwd=input_api.PresubmitLocalPath()) | 515 input_api.subprocess.check_call(cmd, cwd=input_api.PresubmitLocalPath()) |
| 516 else: | 516 else: |
| 517 input_api.subprocess.check_output( | 517 input_api.subprocess.check_output( |
| 518 cmd, cwd=input_api.PresubmitLocalPath()) | 518 cmd, |
| 519 stderr=input_api.subprocess.STDOUT, |
| 520 cwd=input_api.PresubmitLocalPath()) |
| 519 except (OSError, input_api.subprocess.CalledProcessError), e: | 521 except (OSError, input_api.subprocess.CalledProcessError), e: |
| 520 results.append(message_type('%s failed!\n%s' % (unit_test, e))) | 522 results.append(message_type('%s failed!\n%s' % (unit_test, e))) |
| 521 return results | 523 return results |
| 522 | 524 |
| 523 | 525 |
| 524 def RunPythonUnitTests(input_api, output_api, unit_tests): | 526 def RunPythonUnitTests(input_api, output_api, unit_tests): |
| 525 """Run the unit tests out of process, capture the output and use the result | 527 """Run the unit tests out of process, capture the output and use the result |
| 526 code to determine success. | 528 code to determine success. |
| 527 | 529 |
| 528 DEPRECATED. | 530 DEPRECATED. |
| (...skipping 22 matching lines...) Expand all Loading... |
| 551 env = input_api.environ.copy() | 553 env = input_api.environ.copy() |
| 552 # At least on Windows, it seems '.' must explicitly be in PYTHONPATH | 554 # At least on Windows, it seems '.' must explicitly be in PYTHONPATH |
| 553 backpath = [ | 555 backpath = [ |
| 554 '.', input_api.os_path.pathsep.join(['..'] * (cwd.count('/') + 1)) | 556 '.', input_api.os_path.pathsep.join(['..'] * (cwd.count('/') + 1)) |
| 555 ] | 557 ] |
| 556 if env.get('PYTHONPATH'): | 558 if env.get('PYTHONPATH'): |
| 557 backpath.append(env.get('PYTHONPATH')) | 559 backpath.append(env.get('PYTHONPATH')) |
| 558 env['PYTHONPATH'] = input_api.os_path.pathsep.join((backpath)) | 560 env['PYTHONPATH'] = input_api.os_path.pathsep.join((backpath)) |
| 559 cmd = [input_api.python_executable, '-m', '%s' % unit_test] | 561 cmd = [input_api.python_executable, '-m', '%s' % unit_test] |
| 560 try: | 562 try: |
| 561 input_api.subprocess.check_output(cmd, cwd=cwd, env=env) | 563 input_api.subprocess.check_output( |
| 564 cmd, stderr=input_api.subprocess.STDOUT, cwd=cwd, env=env) |
| 562 except (OSError, input_api.subprocess.CalledProcessError), e: | 565 except (OSError, input_api.subprocess.CalledProcessError), e: |
| 563 results.append(message_type('%s failed!\n%s' % (unit_test_name, e))) | 566 results.append(message_type('%s failed!\n%s' % (unit_test_name, e))) |
| 564 return results | 567 return results |
| 565 | 568 |
| 566 | 569 |
| 567 def _FetchAllFiles(input_api, white_list, black_list): | 570 def _FetchAllFiles(input_api, white_list, black_list): |
| 568 """Hack to fetch all files.""" | 571 """Hack to fetch all files.""" |
| 569 # We cannot use AffectedFiles here because we want to test every python | 572 # We cannot use AffectedFiles here because we want to test every python |
| 570 # file on each single python change. It's because a change in a python file | 573 # file on each single python change. It's because a change in a python file |
| 571 # can break another unmodified file. | 574 # can break another unmodified file. |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 939 results.extend(input_api.canned_checks.CheckSvnForCommonMimeTypes( | 942 results.extend(input_api.canned_checks.CheckSvnForCommonMimeTypes( |
| 940 input_api, output_api)) | 943 input_api, output_api)) |
| 941 snapshot("checking license") | 944 snapshot("checking license") |
| 942 results.extend(input_api.canned_checks.CheckLicense( | 945 results.extend(input_api.canned_checks.CheckLicense( |
| 943 input_api, output_api, license_header, source_file_filter=sources)) | 946 input_api, output_api, license_header, source_file_filter=sources)) |
| 944 snapshot("checking was uploaded") | 947 snapshot("checking was uploaded") |
| 945 results.extend(input_api.canned_checks.CheckChangeWasUploaded( | 948 results.extend(input_api.canned_checks.CheckChangeWasUploaded( |
| 946 input_api, output_api)) | 949 input_api, output_api)) |
| 947 snapshot("done") | 950 snapshot("done") |
| 948 return results | 951 return results |
| OLD | NEW |