43 lines
1.5 KiB
Python
43 lines
1.5 KiB
Python
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import json
|
|
|
|
from autotest_lib.server import test
|
|
from autotest_lib.server.cros import telemetry_runner
|
|
from autotest_lib.server.cros.crosperf import device_setup_utils
|
|
|
|
|
|
class telemetry_Benchmarks(test.test):
|
|
"""Run a telemetry benchmark."""
|
|
version = 1
|
|
|
|
|
|
def run_once(self, host=None, benchmark=None, args={}):
|
|
"""Run a telemetry benchmark.
|
|
|
|
@param host: hostname(ip address) to run the telemetry benchmark on.
|
|
@param benchmark: telemetry benchmark test to run.
|
|
"""
|
|
local = args.get("local") == "True"
|
|
optional = {}
|
|
telemetry_on_dut = args.get("telemetry_on_dut")
|
|
if telemetry_on_dut:
|
|
optional["telemetry_on_dut"] = telemetry_on_dut == "True"
|
|
|
|
dut_config_str = args.get("dut_config", "{}")
|
|
dut_config = json.loads(dut_config_str)
|
|
if dut_config:
|
|
device_setup_utils.setup_device(host, dut_config)
|
|
|
|
telemetry = telemetry_runner.TelemetryRunner(host, local, **optional)
|
|
perf_value_writer = self
|
|
extra_args = args.get("extra_args", [])
|
|
repeat = args.get("pageset_repeat")
|
|
if repeat is not None:
|
|
extra_args.append('--pageset-repeat=%s' % repeat)
|
|
|
|
telemetry.run_telemetry_benchmark(benchmark, perf_value_writer,
|
|
*extra_args)
|