# Copyright (c) 2013 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 = "ihf|sabercrombie|marcheu@chromium.org"
NAME = "graphics_per-build"
PURPOSE = "Test graphics functionality."
CRITERIA = "All tests with SUITE=graphics_per-build should complete."

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.

Tests should be run in order of increasing likeness of hanging the system
graphics_WebGLConformance                 5 minutes

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

dynamic_suite.reimage_and_run(
    build=build, board=board, name='graphics_per-build', job=job, pool=pool,
    check_hosts=check_hosts, add_experimental=True, num=num,
    file_bugs=file_bugs, priority=priority, timeout_mins=timeout_mins,
    max_runtime_mins=60, devserver_url=devserver_url,
    version_prefix=provision.CROS_VERSION_PREFIX,
    wait_for_results=wait_for_results)
