# Copyright 2014 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.

from autotest_lib.client.common_lib import utils

AUTHOR = "sbasi, achuith, rohitbm"
NAME = "telemetry_Benchmarks.smoothness.tough_pinch_zoom_cases"
SUITE = "bvt-perbuild"
TIME = "LONG"
TEST_CATEGORY = "Benchmark"
TEST_CLASS = "performance"
TEST_TYPE = "server"

DOC = """
This server side test suite executes the Telemetry smoothness measurement test
This is part of Chrome for Chrome OS performance testing.

Pass local=True to run with local telemetry and no AFE server.
"""

def run_benchmark(machine):
    host = hosts.create_host(machine)
    job.run_test("telemetry_Benchmarks", host=host,
                 benchmark="smoothness.tough_pinch_zoom_cases",
                 tag="smoothness.tough_pinch_zoom_cases",
                 args=utils.args_to_dict(args))

parallel_simple(run_benchmark, machines)
