| 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 3e2a2c87192ed2913f858e9e1fabc7068dc7f6ed..315ee413dbe4678f293f53b157fbb9c5601f7efd 100644
|
| --- a/scripts/slave/recipe_modules/chromium_android/api.py
|
| +++ b/scripts/slave/recipe_modules/chromium_android/api.py
|
| @@ -661,18 +661,22 @@ class AndroidApi(recipe_api.RecipeApi):
|
|
|
| def run_instrumentation_suite(self,
|
| name,
|
| - test_apk,
|
| + test_apk=None,
|
| apk_under_test=None,
|
| additional_apks=None,
|
| isolate_file_path=None,
|
| flakiness_dashboard=None,
|
| annotation=None, except_annotation=None,
|
| screenshot=False, verbose=False, tool=None,
|
| - apk_package=None, host_driven_root=None,
|
| - official_build=False, json_results_file=None,
|
| + apk_package=None,
|
| + host_driven_root=None, # unused?
|
| + official_build=False,
|
| + json_results_file=None,
|
| timeout_scale=None, strict_mode=None,
|
| suffix=None, num_retries=None,
|
| - device_flags=None, **kwargs):
|
| + device_flags=None,
|
| + wrapper_script_suite_name=None,
|
| + **kwargs):
|
| if apk_under_test:
|
| # TODO(jbudorick): Remove this once the test runner handles installation
|
| # of the APK under test.
|
| @@ -680,16 +684,9 @@ class AndroidApi(recipe_api.RecipeApi):
|
|
|
| logcat_output_file = self.m.raw_io.output()
|
| args = [
|
| - '--test-apk', test_apk,
|
| '--blacklist-file', self.blacklist_file,
|
| '--logcat-output-file', logcat_output_file,
|
| ]
|
| - if apk_under_test:
|
| - args.extend(['--apk-under-test', apk_under_test])
|
| - for a in additional_apks or []:
|
| - args.extend(['--additional-apk', a])
|
| - if isolate_file_path:
|
| - args.extend(['--isolate-file-path', isolate_file_path])
|
| if tool:
|
| args.append('--tool=%s' % tool)
|
| if flakiness_dashboard:
|
| @@ -702,14 +699,10 @@ class AndroidApi(recipe_api.RecipeApi):
|
| args.append('--screenshot')
|
| if verbose:
|
| args.append('--verbose')
|
| - if self.m.chromium.c.BUILD_CONFIG == 'Release':
|
| - args.append('--release')
|
| if self.c.coverage or self.c.incremental_coverage:
|
| args.extend(['--coverage-dir', self.coverage_dir])
|
| if host_driven_root:
|
| args.extend(['--host-driven-root', host_driven_root])
|
| - if official_build:
|
| - args.extend(['--official-build'])
|
| if json_results_file:
|
| args.extend(['--json-results-file', json_results_file])
|
| if timeout_scale:
|
| @@ -721,10 +714,25 @@ class AndroidApi(recipe_api.RecipeApi):
|
| if device_flags:
|
| args.extend(['--device-flags', device_flags])
|
|
|
| + if not wrapper_script_suite_name:
|
| + args.insert(0, 'instrumentation')
|
| + args.extend(['--test-apk', test_apk])
|
| + if apk_under_test:
|
| + args.extend(['--apk-under-test', apk_under_test])
|
| + for a in additional_apks or []:
|
| + args.extend(['--additional-apk', a])
|
| + if isolate_file_path:
|
| + args.extend(['--isolate-file-path', isolate_file_path])
|
| + if self.m.chromium.c.BUILD_CONFIG == 'Release':
|
| + args.append('--release')
|
| + if official_build:
|
| + args.extend(['--official-build'])
|
| +
|
| step_result = self.test_runner(
|
| 'Instrumentation test %s%s' % (annotation or name,
|
| ' (%s)' % suffix if suffix else ''),
|
| - args=['instrumentation'] + args,
|
| + args=args,
|
| + wrapper_script_suite_name=wrapper_script_suite_name,
|
| **kwargs)
|
| if step_result.raw_io.output:
|
| step_result.presentation.logs['logcat'] = (
|
| @@ -1245,7 +1253,7 @@ class AndroidApi(recipe_api.RecipeApi):
|
| f.result.presentation.status = self.m.step.FAILURE
|
| raise
|
|
|
| - def test_runner(self, step_name, args=None, **kwargs):
|
| + def test_runner(self, step_name, args=None, wrapper_script_suite_name=None, **kwargs):
|
| """Wrapper for the python testrunner script.
|
|
|
| Args:
|
| @@ -1253,5 +1261,8 @@ class AndroidApi(recipe_api.RecipeApi):
|
| args: Testrunner arguments.
|
| """
|
| with self.handle_exit_codes():
|
| - return self.m.python(
|
| - step_name, self.c.test_runner, args, **kwargs)
|
| + script = self.c.test_runner
|
| + if wrapper_script_suite_name:
|
| + script = self.m.chromium.output_dir.join('bin', 'run_%s' %
|
| + wrapper_script_suite_name)
|
| + return self.m.python(step_name, script, args, **kwargs)
|
|
|