# 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'
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'
TIME = 'LENGTHY'
TEST_CATEGORY = 'Functional'
TEST_CLASS = 'graphics'
TEST_TYPE = 'client'
MAX_RESULT_SIZE_KB = 131072
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=False',
                 'perf_failure_description=Failures_GLES31',
                 'shard_number=0',
                 'shard_count=1'
             ])