Chromium Code Reviews| Index: PRESUBMIT.py |
| diff --git a/PRESUBMIT.py b/PRESUBMIT.py |
| index ffe82a1ccfb274bbd0cd57a5b8a225a09ab1370c..3002447e4f516c28450198dfb82432772fb0727b 100644 |
| --- a/PRESUBMIT.py |
| +++ b/PRESUBMIT.py |
| @@ -26,6 +26,8 @@ def CommonChecks(input_api, output_api): |
| results.extend(input_api.canned_checks.CheckOwners(input_api, output_api)) |
| black_list = list(input_api.DEFAULT_BLACK_LIST) + [ |
| r'^cpplint\.py$', |
| + r'^python_bin[\/\\].+', |
| + r'^svn_bin[\/\\].+', |
| r'^tests[\/\\]\w+?[\/\\].+'] |
| results.extend(input_api.canned_checks.RunPylint( |
| input_api, |
| @@ -42,16 +44,13 @@ def CommonChecks(input_api, output_api): |
| 'tests', |
| whitelist=[r'.*test\.py$'], |
| verbose=verbose)) |
| - results.extend(RunGitClTests(input_api, output_api)) |
| + results.extend(RunGitClTests(input_api, output_api, verbose=verbose)) |
| return results |
| -def RunGitClTests(input_api, output_api): |
| +def RunGitClTests(input_api, output_api, verbose): |
| """Run all the shells scripts in the directory test. |
| """ |
| - # Not exposed from InputApi. |
| - from os import listdir |
| - |
| # First loads a local Rietveld instance. |
| import sys |
| old_sys_path = sys.path |
| @@ -62,21 +61,13 @@ def RunGitClTests(input_api, output_api): |
| finally: |
| sys.path = old_sys_path |
| - # Set to True for testing. |
| - verbose = False |
| - if verbose: |
| - stdout = None |
| - stderr = None |
| - else: |
| - stdout = input_api.subprocess.PIPE |
| - stderr = input_api.subprocess.STDOUT |
| - output = [] |
| + results = [] |
| try: |
| # Start a local rietveld instance to test against. |
| server.start_server() |
| test_path = input_api.os_path.abspath( |
| input_api.os_path.join(input_api.PresubmitLocalPath(), 'tests')) |
| - for test in listdir(test_path): |
| + for test in input_api.os_listdir(test_path): |
| # test-lib.sh is not an actual test so it should not be run. The other |
| # tests are tests known to fail. |
| DISABLED_TESTS = ( |
| @@ -85,19 +76,20 @@ def RunGitClTests(input_api, output_api): |
| continue |
| print('Running %s' % test) |
| - proc = input_api.subprocess.Popen( |
| - [input_api.os_path.join(test_path, test)], |
| - cwd=test_path, |
| - stdout=stdout, |
| - stderr=stderr) |
| - proc.communicate() |
| - if proc.returncode != 0: |
| - output.append(output_api.PresubmitError('%s failed' % test)) |
| + try: |
| + if verbose: |
| + input_api.subprocess.check_call( |
| + [input_api.os_path.join(test_path, test)], cwd=test_path) |
| + else: |
| + input_api.subprocess.check_output( |
| + [input_api.os_path.join(test_path, test)], cwd=test_path) |
| + except (OSError, input_api.subprocess.CalledProcessError), e: |
| + results.append(output_api.PresubmitError('%s failed\n%s' % (test, e))) |
|
Dirk Pranke
2011/04/05 21:11:42
Maybe something to change separate from this patch
|
| except local_rietveld.Failure, e: |
| - output.append(output_api.PresubmitError('\n'.join(str(i) for i in e.args))) |
| + results.append(output_api.PresubmitError('\n'.join(str(i) for i in e.args))) |
| finally: |
| server.stop_server() |
| - return output |
| + return results |
| def CheckChangeOnUpload(input_api, output_api): |