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

AUTHOR = "puthik"
NAME = "power_LW.power_Standby_fast"
TIME = "MEDIUM"
TEST_CATEGORY = "Benchmark"
TEST_CLASS = "power"
TEST_TYPE = "server"
ATTRIBUTES = "suite:power_dashboard"

DOC = """
Control file for running power_Standby.fast in power lab.
"""

from autotest_lib.client.common_lib import utils

args_dict = utils.args_to_dict(args)
test = 'power_Standby'
args = {
    'pdash_note': args_dict.get('pdash_note', ''),
    'tag' : 'fast_PLW',
    'sample_hours' : 0.334,
    'test_hours' : 0.334,
}

def run(machine):
    host = hosts.create_host(machine)
    job.run_test("power_LW", host=host, test=test, args=args,
                 machine=machine, tag=NAME.split('.')[1])

parallel_simple(run, machines)
