# Copyright (c) 2012 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 = "Chrome OS Team"
NAME = "Power Daily Test Suite"
TIME = "SHORT"
TEST_CATEGORY = "General"
TEST_CLASS = "suite"
TEST_TYPE = "Server"

DOC = """
Run Automated power tests on machines with and without AC.

@param build: The name of the image to test.
              Ex: x86-mario-release/R17-1412.33.0-a1-b29
@param board: The board to test on. Ex: x86-mario
@param pool: The pool of machines to utilize for scheduling. If pool=None
             board is used.
@param check_hosts: require appropriate live hosts to exist in the lab.
@param SKIP_IMAGE: (optional) If present and True, don't re-image devices.
"""

import common
from autotest_lib.server.cros import provision
from autotest_lib.server.cros.dynamic_suite import dynamic_suite

_BUG_TEMPLATE = {
    'labels': ['OS-Chrome', 'Type-Bug'],
    'components': ['OS>Kernel>Power'],
    'owner': '',
    'status': None,
    'summary': None,
    'title': None,
    'cc': ['dbasehore@chromium.org', 'msheets@chromium.org',
           'tbroch@chromium.org']
}

args_dict['add_experimental'] = True
args_dict['bug_template'] = _BUG_TEMPLATE
args_dict['name'] = 'power_daily'
args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX
args_dict['job'] = job

dynamic_suite.reimage_and_run(**args_dict)
