# 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"
PURPOSE = "A Chameleon 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)
