Chromium Code Reviews| Index: scripts/slave/recipe_modules/chromium_android/api.py |
| diff --git a/scripts/slave/recipe_modules/chromium_android/api.py b/scripts/slave/recipe_modules/chromium_android/api.py |
| index a36a7305848cbe2ad7b70b79bc350920aeaaed02..33af571d7db8d44d4692b65ecc2e7c94bda62aa3 100644 |
| --- a/scripts/slave/recipe_modules/chromium_android/api.py |
| +++ b/scripts/slave/recipe_modules/chromium_android/api.py |
| @@ -407,9 +407,8 @@ class AndroidApi(recipe_api.RecipeApi): |
| '--package=%s' % self.c.channel, |
| '--event-count=50000' |
| ] |
| - return self.m.python( |
| + return self.test_runner( |
| 'Monkey Test', |
| - self.c.test_runner, |
| args, |
| env={'BUILDTYPE': self.c.BUILD_CONFIG}, |
| **kwargs) |
| @@ -425,9 +424,8 @@ class AndroidApi(recipe_api.RecipeApi): |
| args.extend(['--flaky-steps', flaky_config]) |
| args.extend(['--collect-chartjson-data'] if chartjson_output else []) |
| - self.m.python( |
| + self.test_runner( |
| 'Sharded Perf Tests', |
| - self.c.test_runner, |
| args, |
| cwd=self.m.path['checkout'], |
| env=self.m.chromium.get_env(), |
| @@ -542,10 +540,9 @@ class AndroidApi(recipe_api.RecipeApi): |
| if json_results_file: |
| args.extend(['--json-results-file', json_results_file]) |
| - return self.m.python( |
| + return self.test_runner( |
| 'Instrumentation test %s%s' % (annotation or test_apk, |
| ' (%s)' % suffix if suffix else ''), |
| - self.c.test_runner, |
| args=['instrumentation'] + args, |
| **kwargs) |
| @@ -677,9 +674,8 @@ class AndroidApi(recipe_api.RecipeApi): |
| if json_results_file: |
| args.extend(['--json-results-file', json_results_file]) |
| - self.m.python( |
| + self.test_runner( |
| name or str(suite), |
| - self.c.test_runner, |
| ['gtest', '-s', suite] + args, |
| env=self.m.chromium.get_env(), |
| **kwargs) |
| @@ -691,9 +687,8 @@ class AndroidApi(recipe_api.RecipeApi): |
| if self.c.BUILD_CONFIG == 'Release': |
| args.append('--release') |
| - self.m.python( |
| + self.test_runner( |
| str(suite), |
| - self.c.test_runner, |
| ['junit', '-s', suite] + args, |
| env=self.m.chromium.get_env(), |
| **kwargs) |
| @@ -703,9 +698,8 @@ class AndroidApi(recipe_api.RecipeApi): |
| if verbose: |
| args.append('--verbose') |
| - self.m.python( |
| + self.test_runner( |
| str(suite), |
| - self.c.test_runner, |
| ['python', '-s', suite] + args, |
| env=self.m.chromium.get_env(), |
| **kwargs) |
| @@ -737,3 +731,22 @@ class AndroidApi(recipe_api.RecipeApi): |
| link_name='Coverage report', |
| version='4.7', |
| **kwargs) |
| + |
| + def test_runner(self, name, args=None, **kwargs): |
|
jbudorick
2015/03/02 16:26:02
I like this idea, although I'm not sure if it shou
mikecase (-- gone --)
2015/03/02 18:08:44
Added documentation for the arguments. Added luqui
|
| + """Wrapper for the python testrunner script.""" |
| + try: |
| + step_result = self.m.python(name, self.c.test_runner, args, **kwargs) |
| + return step_result |
| + except self.m.step.StepFailure as f: |
| + step_result = f.result |
| + raise |
| + finally: |
| + if (step_result.retcode == |
| + self.c.test_runner_exit_codes['ERROR']): |
| + step_result.presentation.status = self.m.step.FAILURE |
| + elif (step_result.retcode == |
| + self.c.test_runner_exit_codes['INFRA']): |
| + step_result.presentation.status = self.m.step.EXCEPTION |
| + elif (step_result.retcode == |
| + self.c.test_runner_exit_codes['WARNING']): |
| + step_result.presentation.status = self.m.step.WARNING |