| Index: scripts/slave/recipe_modules/chromium/api.py
|
| diff --git a/scripts/slave/recipe_modules/chromium/api.py b/scripts/slave/recipe_modules/chromium/api.py
|
| index a5f4ce025765dc90935d4c353c4ad4e63e6b2038..bb8f979fe6f18b974ef4d4b7c2d5455c2b18fe60 100644
|
| --- a/scripts/slave/recipe_modules/chromium/api.py
|
| +++ b/scripts/slave/recipe_modules/chromium/api.py
|
| @@ -440,6 +440,55 @@ class ChromiumApi(recipe_api.RecipeApi):
|
| def is_release_build(self):
|
| return self.c.BUILD_CONFIG == 'Release'
|
|
|
| + def run_telemetry_test(self, runner, test, name, args=None,
|
| + prefix_args=None, results_directory='',
|
| + spawn_dbus=False, revision=None, webkit_revision=None,
|
| + master_class_name=None, **kwargs):
|
| + """Runs a Telemetry based test with 'runner' as the executable.
|
| + Automatically passes certain flags like --output-format=gtest to the
|
| + test runner. 'prefix_args' are passed before the built-in arguments and
|
| + 'args'."""
|
| + # Choose a reasonable default for the location of the sandbox binary
|
| + # on the bots.
|
| + env = {}
|
| + if self.m.platform.is_linux:
|
| + env['CHROME_DEVEL_SANDBOX'] = self.m.path.join(
|
| + '/opt', 'chromium', 'chrome_sandbox')
|
| +
|
| + # The step name must end in 'test' or 'tests' in order for the results to
|
| + # automatically show up on the flakiness dashboard.
|
| + if not (name.endswith('test') or name.endswith('tests')):
|
| + name = '%s_tests' % name
|
| +
|
| + test_args = []
|
| + if prefix_args:
|
| + test_args.extend(prefix_args)
|
| + test_args.extend([test,
|
| + '--show-stdout',
|
| + '--output-format=gtest',
|
| + '--browser=%s' % self.c.build_config_fs.lower()])
|
| + if args:
|
| + test_args.extend(args)
|
| +
|
| + if not results_directory:
|
| + results_directory = self.m.path['slave_build'].join('gtest-results', name)
|
| +
|
| + return self.runtest(
|
| + runner,
|
| + test_args,
|
| + annotate='gtest',
|
| + name=name,
|
| + test_type=name,
|
| + generate_json_file=True,
|
| + results_directory=results_directory,
|
| + python_mode=True,
|
| + spawn_dbus=spawn_dbus,
|
| + revision=revision,
|
| + webkit_revision=webkit_revision,
|
| + master_class_name=master_class_name,
|
| + env=env,
|
| + **kwargs)
|
| +
|
| def run_telemetry_benchmark(self, benchmark_name, cmd_args=None, env=None):
|
| cmd_args = cmd_args or []
|
| args = [
|
|
|