# Copyright 2014 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 = "graphics-gfx"
NAME = "graphics_system"
PURPOSE = "Test graphics system level functionality (no browser)."

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

DOC = """
This is the graphics test suite containing system level tests.
Tests in this suite should have no dependencies on the browser, login etc.

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.dynamic_suite import dynamic_suite

args_dict['max_runtime_mins'] = 240
args_dict['add_experimental'] = True
args_dict['name'] = 'graphics_system'
args_dict['job'] = job

dynamic_suite.reimage_and_run(**args_dict)
