# Copyright 2016 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 = "chromeos-chameleon"
NAME = "chameleon_dp_hdmi_stress"
PURPOSE = "A Chameleon stress test suite."

TIME = "LENGTHY"
TEST_CATEGORY = "General"
TEST_CLASS = "suite"
TEST_TYPE = "Server"

DOC = """
Display tests which require Chameleon board connected via DP connection.
The Chameleon board can emulate a monitor such that the test can control
its behaviors in order to test the Chrome OS graphic stack.

@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.dynamic_suite import dynamic_suite

# Values specified in this bug template will override default values when
# filing bugs on tests that are a part of this suite. If left unspecified
# the bug filer will fallback to it's defaults.
_BUG_TEMPLATE = {
    'labels': ['OS-Chrome', 'Chameleon'],
    'components': ['OS>Kernel>Graphics'],
    'owner': 'kalin@chromium.org',
    'status': None,
    'summary': None,
    'title': None,
    'cc': ['waihong@chromium.org', 'conradlo@chromium.org']
}

args_dict['name'] = NAME
args_dict['suite_dependencies'] = 'chameleon:dp_hdmi'
args_dict['max_runtime_mins'] = 240
args_dict['job'] = job
args_dict['add_experimental'] = True
args_dict['bug_template'] = _BUG_TEMPLATE

dynamic_suite.reimage_and_run(**args_dict)
