# Copyright 2015 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.

# Please do not edit this file! It has been created by generate_controlfiles.py.

NAME = 'graphics_dEQP.gles31-master.hasty.0'
AUTHOR = 'chromeos-gfx'
PURPOSE = 'Run the drawElements Quality Program test suite.'
CRITERIA = 'All of the individual tests must pass.'
ATTRIBUTES = 'suite:deqp, suite:graphics_per-day, suite:graphics_system, suite:bvt-perbuild'
TIME = 'FAST'
TEST_CATEGORY = 'Functional'
TEST_CLASS = 'graphics'
TEST_TYPE = 'client'
DOC = """
This test runs the drawElements Quality Program test suite.
"""
job.run_test('graphics_dEQP',
             tag = 'gles31-master',
             opts = args + [
                 'test_names_file=/usr/local/deqp/master/gles31-master.txt',
                 'hasty=True',
                 'shard_number=0',
                 'shard_count=10'
             ])