# 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 = "graphics"
PURPOSE = "Test graphics functionality."

TIME = "MEDIUM"
TEST_CATEGORY = "Graphics"
TEST_CLASS = "suite"
TEST_TYPE = "Server"

DOC = """
This is the graphics test suite. It should consist of functional and stressful
graphics tests. In general we don't want these tests to hang the system,
although this may happen especially with piglit. For functionality contact
suite owners: ihf|sabercrombie|marcheu@chromium.org

Tests should be run in order of increasing likeness of hanging the system
graphics_GLAPICheck                     < 1 minute runtime
graphics_Sanity                         < 1 minute
graphics_SanAngeles                       3 minutes
graphics_GLBench                          5 minutes
graphics_Piglit                      10..15 minutes on OpenGL/Intel only

The machine should reboot after finishing the suite or timing out.

@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

args_dict['max_runtime_mins'] = 240
args_dict['add_experimental'] = True
args_dict['name'] = 'graphics'
args_dict['version_prefix'] = provision.CROS_VERSION_PREFIX
args_dict['job'] = job

dynamic_suite.reimage_and_run(**args_dict)
