# 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."
CRITERIA = "All tests with SUITE=graphics should complete and not hang."

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)