# Copyright 2015 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

from autotest_lib.server import utils

NAME = "display_ResolutionList.4K.extended"
METADATA = {
    "contacts": ["chromeos-gfx-display@google.com"],
    "bug_component": "b:188154",
    "criteria": "Fails if the captured display checksum mismatches."
}
ATTRIBUTES = "suite:chameleon_hdmi_unstable"
TEST_TYPE = "server"
DEPENDENCIES = "4k_resolution, chameleon"

'''
This test remotely tests all display resolutions available from the display
options dialog in extended mode.
'''

args_dict = utils.args_to_dict(args)
chameleon_args = hosts.CrosHost.get_chameleon_arguments(args_dict)

def run(machine):
    resolution_list=[('DP', 3840, 2160),
                     ('HDMI', 3840, 2160),]
    host = hosts.create_host(machine, chameleon_args=chameleon_args)
    job.run_test("display_ResolutionList", host=host,
                 resolution_list=resolution_list, tag="4K.extended")

parallel_simple(run, machines)
